Macro de Reprise de sélection multiple

Résolu
CerberusPau Messages postés 377 Date d'inscription lundi 3 avril 2006 Statut Membre Dernière intervention 22 août 2018 - 28 janv. 2012 à 13:06
CerberusPau Messages postés 377 Date d'inscription lundi 3 avril 2006 Statut Membre Dernière intervention 22 août 2018 - 20 févr. 2012 à 11:22
Salut le Forum,
Il est toujours temps de vous souhaiter mes meilleurs voeux 2012.
Perso, j'en ai un que je souhaiterais voir être exhaussé grâce à vous.

Je voudrais copier-coller une sélection multiple de LIGNES ENTIERES, d'un classeur vers un autre. A priori, aucun problème ...
Sub MultiRow()
'Copie GLOBALE de sélection multiple de différentes lignes entières

    'Reprise des lignes sélectionnées
    Range("4:4,6:6,8:8").Select
    
    'Copiage
    Selection.Copy
    'Activation du deuxième Classeur ouvert devant recevoir les copies
    Windows("Classeur2").Activate
    'Dernière ligne non vide (accueil des copies)
    Last = Sheets(1).Range("A65536").End(xlUp).Row
    'Correctif pour la toute première ligne
    If Sheets(1).Range("A65536").End(xlUp).Value <> "" Then Last = Last + 1
    Range("A" & Last).Select
    'Collage
    ActiveSheet.Paste
    'Retour au Classeur source
    Windows("Classeur1").Activate
    'Fin de Copier-Coller
    Application.CutCopyMode = False
    Range("A1").Select
    
End Sub


Sauf que : dans le code
    'Reprise des lignes sélectionnées
    Range("4:4,6:6,8:8").Select

Comment entrer automatiquement les valeurs appropriées dans Range("xxxxx").select lorsque l'utilisateur fait sa sélection par les Clic+Ctrl habituels ?

J'ai bien essayé par ActiveCell.row associé à une valeur de cellule en bout de ligne, puis par Worksheet_SelectionChange ou Worksheet_Activate...
J'ai aussi voulu tenter (bêtement!) de lancer par macro l'éditeur de macro pour "récupérer" la sélection de l'utilisateur. Echec!

Bref, je patauge! Qui aurait une idée SVP ?

Merci
Cordialement

Rataxes64

93 réponses

ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
12 févr. 2012 à 00:57
ou encore (autre manière)

on se place dans la première cellule de la ligne et on appuie simultanément
CTRL, MAJ et flèhce droite
____________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches d'autres forumeurs.
Pas d'aide en ligne installée ? ==> ne comptez pas sur moi pour simplement vous dire ce qu'elle contient
0
CerberusPau Messages postés 377 Date d'inscription lundi 3 avril 2006 Statut Membre Dernière intervention 22 août 2018 1
12 févr. 2012 à 01:49
OK ucfoutu,

Ces raccourcis clavier ne sont pas toujours connus des utilisateurs Lamba.

Pour eux, un simple clic sur une ligne est quand même plus convivial, non?

D'où ma volonté de faire ça par macro (c'est ce que j'ai écrit dans mon code de débutant et que je n'ai pas trouvé comment faire dans le tien).

Mais à part ça, peux-tu me dire pourquoi
feuille.Range("A" & Rows.Count).Value = Chr(0)

reste vide et que ça plante comme indiqué plus haut?

Merci
Rataxes64
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
12 févr. 2012 à 07:07
Cette ligne restera toujours vide, sauf un très bref instant où elle contient un caractère totalement invisible !
la vocation de :
feuille.Range("A" & Rows.Count).Value = Chr(0)

est très particulière. Elle permet de déceler la première ligne vide de la feuille sans passer par ce par quoi tu passes, à l'aide de
SpecialCells(xlCellTypeBlanks).Row)




____________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches d'autres forumeurs.
Pas d'aide en ligne installée ? ==> ne comptez pas sur moi pour simplement vous dire ce qu'elle contient
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
12 févr. 2012 à 07:28
Je ne parviens toutefois pas à comprendre certains aspects de ce que tu veux faire :
1) pourquoi avoir masqué les titres de tes lignes et colonnes ? (mais ce n'est qu'accessoire)
2) tout ce qui est mis dans sélection_change s'exécute automatiquement à chaque sélection, que l'utilisateur sélectionne une ligne complète ou non ! Et ton résultat doit correspondre à des lignes complètes.
A moins que tu ne veuilles obliger l'utilisateur, au prétexte de lui faciliter la vie, à systématiquement avoir toutre une ligne sélectionnée à chaque déplacement sur sa feuille ?
Si c'est le cas (étonnant) alors regarde ce que fait ceci :
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
  Target.EntireRow.Select
End Sub

mais ce faisant, comment pourrait-il ne saisir ensuite qu'une seule cellule ?
Tout cela me parait vraiment tortueux, voire dangereux, quelle que soit la méthode.
Ne crois-tu alors pas plus raisonnable (et je te fabrique la chose en moins de trente secondes) d'utiliser un bouton de commande (ou autre) pour passer d'un état "normal" à un état de "sélections forcées de lignes entières en vue de ta copie d'une feuille à l'autre" ?


____________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches d'autres forumeurs.
Pas d'aide en ligne installée ? ==> ne comptez pas sur moi pour simplement vous dire ce qu'elle contient
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
12 févr. 2012 à 10:39
J'avais du temps et ai donc regardé ton autre problème
ton code, pour mémoire :
Private Sub Worksheet_Change(ByVal Target As Range)
'Agent Reset
If Sheets("Data").Range("AS12").Value = 1 then Exit sub    
If Not Intersect(Target, Range("E48")) Is Nothing Then
'ça bloque dès la ligne ci-dessous, qui n'est plus exécutée!!
        Sheets("Data").Range("AS12").Value = 1
        '% de Hauteur Totale par défaut
        If Sheets("Général").Range("K48").Value "+" Then Sheets("Général").Range("R38").Value 10    'Ascendant  (10%)
        If Sheets("Général").Range("K48").Value "Q" Then Sheets("Général").Range("R38").Value 100   'Aucun      (100%)
        If Sheets("Général").Range("K48").Value "," Then Sheets("Général").Range("R38").Value 90    'Descendant (90%)
        'Mélange/Interface
        Sheets("Général").Range("K50").Value = "OUI"
        Sheets("Data").Range("AS12").Value = 0
    End If

Si j'ai bien deviné ce que tu cherches à faire : tu chercherais à invalider les instructions de cette procédure en mettant à "1" la cellule AS12 ? (1 = invalidation, sinon validatrion) ?
C'est celà ? === >> car si oui :
au moment même où tu saisis "1" dans la cellule AS12, que ce soit manuellement ou par code , tu déclenche l'évènement Change.
Or, je vois cette ligne :
Sheets("Data").Range("AS12").Value = 1

elle modifie AS12 ===>> la procédure Change est alors déclenchée à nouveau ===>>
Or, sa première ligne est :
If Sheets("Data").Range("AS12").Value = 1 then Exit sub   


Etonne-toi donc, ensuite de ce que "cela ne marche pas".
Utilise donc une variable booléenne générale, en lieu et place de cette cellule, et tout sera moins "acrobatique"
____________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches d'autres forumeurs.
Pas d'aide en ligne installée ? ==> ne comptez pas sur moi pour simplement vous dire ce qu'elle contient
0
CerberusPau Messages postés 377 Date d'inscription lundi 3 avril 2006 Statut Membre Dernière intervention 22 août 2018 1
12 févr. 2012 à 18:18
Bonjour,

Merci, je mets mes cellules grises en route avec
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
  Target.EntireRow.Select
End Sub

N'empêche que je n'arrive toujours pas à faire tourner ta méthode (plantages décris plus haut)...
Je ne parviens toutefois pas à comprendre certains aspects de ce que tu veux faire
L'utilisateur Lamba doit Exporter des données qui sont rangées en ligne dans des feuilles "Archives" (j'en ai 8 en tout, et il ne voit que la première), et dont seules quelques colonnes sont visibles (certaines avec filtre).
Il n'a à sa disposition aucun menu, pas de colonne ni de ligne, ni de barre de formule, ni même d'onglet ; mais seulement un bouton "Exporter" et un bouton "Quitter".
Dans la première colonne est donné le N° de l'Archive. Un premier clic sur une quelconque cellule d'une ligne la "sélectionne" pour être Exportée : Le N° passe en gras et rouge.
Un autre clic sur une ligne déjà sélectionnée la "désélectionne" (N° au format standard).
Bien sûr, la "sélection" doit aussi pouvoir être prise en compte par un clic maintenu + déplacer la souris.
Il ne lui reste plus qu'à cliquer le bouton Exporter pour que la macro associée exporte chaque ligne concernée (de chaque feuille Archive).
J'ai limité ma question au problème de selection/copy initial pour réaliser cette exportation qui consiste en une création de fichier contenant chacun les valeurs contenues dans chacune des lignes sélectionnées. .

A suivre donc...

Pour l'autre problème, j'ai préféré créer un autre post ici


Cordialement
Rataxes64
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
12 févr. 2012 à 18:27
Ce sont tes boutons exporter et quitter (que l'on peut d'ailleurs réduire à un seul bouton en "switch") qu'il te faut utiliser en modification d'état (comme j'y ai fait allusion plus haut).
Je crois vraiment que le plus simple est que tu mettes ton fichier à ma disposition et tu verras.


____________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches d'autres forumeurs.
Pas d'aide en ligne installée ? ==> ne comptez pas sur moi pour simplement vous dire ce qu'elle contient
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
12 févr. 2012 à 18:32
Si tu le mets à disposition, n'oublie pas de le dégrader pour versions depuis 97 (en .xls, donc), afin que tous puisent y accéder, quelle que soit leur propre version.


____________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches d'autres forumeurs.
Pas d'aide en ligne installée ? ==> ne comptez pas sur moi pour simplement vous dire ce qu'elle contient
0
CerberusPau Messages postés 377 Date d'inscription lundi 3 avril 2006 Statut Membre Dernière intervention 22 août 2018 1
12 févr. 2012 à 19:44
Heuh,

On fait comment pour que je t'envoie mon fichier ?
Tu peux me donne ton mail en MP, STP ?

Cordialement
Rataxes64
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
12 févr. 2012 à 20:20
Je veux bien, mais si tu fais ainsi, je serai absolument seul à pouvoir suivre valablement cette discussion ! Et on s'éloignera une fois de plus de l'esprit "forum" !
Si tu y tiens vraiment, d'accord et je te communiquerai une adresse email.
Mais je préfèrerais de très loin que tu mettes ton classeur à disposition de tous sur un site ad hoc ! Il y en a plein, parmi lesquels choisir ! et que tu nous en donnes le lien !


____________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches d'autres forumeurs.
Pas d'aide en ligne installée ? ==> ne comptez pas sur moi pour simplement vous dire ce qu'elle contient
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
12 févr. 2012 à 20:28
Enfin quoi :
Tu vas sur Google (par exemple) ===>> ru cherches avec
sites dépôt de fichiers
tu choisis toi-même le site (je ne ferai la pub d'aucun d'entre eux et ne veux même pas me mêler de ce choix, en précisant que je ne fais personnellement TOTALEMENT confiance à AUCUN d'entre eux)
=>> une fois ton choix fait ===>> tu déposes ===>> tu nous dit où TU as CHOISI de déposer (le lien de ton dépôt)


____________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches d'autres forumeurs.
Pas d'aide en ligne installée ? ==> ne comptez pas sur moi pour simplement vous dire ce qu'elle contient
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
12 févr. 2012 à 20:33
Et pour que tu comprennes mieux : une fois connu ce dépôt, ce ne sera pas de la machine sur laquelle je développe (celle d'où je te réponds en ce moment-même) , que je téléchargerai ton fichier, mais depuis une autre machine, que je dédie à tout ce qui comporte un risque, aussi minime fût-il. Moyennant quoi, je suis toujours certain de ne jamais finir par polluer les autres moi-même, d'une manière ou de l'autre et à mon insu .


____________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches d'autres forumeurs.
Pas d'aide en ligne installée ? ==> ne comptez pas sur moi pour simplement vous dire ce qu'elle contient
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
12 févr. 2012 à 21:26
Bon,
je viens de voir que chr(0) n'est pas forcément un choix heureux (différence de comportement d'une machine à l'autre)
Dans le code que je t'ai donné (celui du test de copie):
modifie donc cette ligne
feuille.Range("A" & Rows.Count).Value = chr(0)

par
feuille.Range("A" & Rows.Count).Value = "rien a cirer"

fais pour l'instant ton test en affichant les titres de lignes et colonnes (pour faciliter le test)
Si résultat enfin bon ===>> dis-le et j'appliquerai autre chose pour la sélection de ligne entière.
on va peut-être éviter (tu vas voir) de passer par une mise à disposition de ton classeur.
Dis-moi.
____________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches d'autres forumeurs.
Pas d'aide en ligne installée ? ==> ne comptez pas sur moi pour simplement vous dire ce qu'elle contient
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
12 févr. 2012 à 21:43
et dis-moi avec précision :
- de quelle feuille (nom) vers quelle feuille (nom) veux tu copier tes sélections de lignes entières ?
- sur quelle feuille est ton fameux WorkSheetChange et quand doit-il intervenir (avant ou après la copie ?)
- quel est la raison fondamentale (autre qu'un "mécanisme d'inhibition", que je remplacerai) de la valeur de test Sheets("Data").Range("AS12").Value ?
Si tu sais être TRES PRECIS et concis sur ces points ===>> c'est moi-même qui mettrai entre tes mains le classeur de base, tout prêt à l'emploi en ce qui concerne ces points.
Je te demande une seule chose : précision et concision (les tenants et aboutissants techniques, sans autres explications qui, chez moi, sont de nature à plutôt embrouiller les choses pour rien).
Bonne nuit et à demain.



____________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches d'autres forumeurs.
Pas d'aide en ligne installée ? ==> ne comptez pas sur moi pour simplement vous dire ce qu'elle contient
0
CerberusPau Messages postés 377 Date d'inscription lundi 3 avril 2006 Statut Membre Dernière intervention 22 août 2018 1
12 févr. 2012 à 22:12
AHHH!

Bien vu avec Chr(0)!

Cette fois-ci, ça roule.

Bon, maintenant, il faut que travaille à adapter ça à mon besoin global que j'ai indiqué dans mon dernier message. :
Un clic sur une ligne = Sélection (1ère cellule en Rouge + gras)
Si ligne recliquée= Désélection (1ère cellule repasse en standard)
Quand la sélection est terminée (au moins une) =Bouton Exporter actif
Clic sur bouton Exporter = Lance la macro d'export

Chaque ligne de même row de chacune des 8 feuilles Archive est recopiée dans un classeur de 8 feuilles de même nom, créé par la macro, puis enregistré automatiquement selon un chemin fixe, avec un nom construit à partir des données de certaines cellules de la ligne.

Je ne sais pas trop par quel bout je vais attaquer ça avec TA méthode...
Tout est déja OK avec la mienne, mais j'aimerais bien y arriver de façon plus "Pro".
Je suis bien plus à l'aise avec des calculs que des formats ou des traitements de lignes ou de fichiers.

Il me restera encore ce problème avec Change, sur lequel je sèche toujours!
Dans l'autre post, je vais décrire dans le détail ce que je veux obtenir afin d'ouvrir les pistes (avant de mettre mon fichier à dispo "pour tous", ce que je ne souhaite pas trop).

Cordialement
Rataxes64
0
CerberusPau Messages postés 377 Date d'inscription lundi 3 avril 2006 Statut Membre Dernière intervention 22 août 2018 1
12 févr. 2012 à 23:02
Bon, j'ai mis trop de temps à répondre et je viens de voir ton dernier message.

Ce dernier fait allusion au deuxième problème (W_Change qui est dans la feuille Général)

On risque de se mélanger avec l'objet de ce post (W_SelectionChange qui est dans la feuille Archive.
Raison pour laquelle j'ai fait un autre post dédié à W_Change.

Pour te répondre ici.
Le besoin est le suivant :
Quand on fait un choix dans une cellule en liste (plage), on doit déclencher (et afficher!) les paramètres par défaut liés au choix fait. Par la suite, une fois le choix fait et les paramètres par défaut affichés, on doit pouvoir les modifier, et certaines de ces modifications induisent à leur tour des modifications....
Pour être plus clair, un exemple chiffré.

Etape0: Avec choix liste Agent E48Azote> K50=OUI (par défaut) donc K48=Q (formule) => R38=100 (par défaut)

Etape1: Modification K50 =NON (liste OUI;NON) donc K48= + (formule) et R38=10
Note: Si Retour K50 OUI = retour valeurs Etape0

Etape2 : Modification Agent E48 =CO2 = > K50=OUI (par défaut) donc K48=, (formule) => R38=90 (par défaut)

Etape3: Modification R38 =75 => E48 et K50 inchangés

Il est donc nécessaire de "Bloquer" W_Change dans la feuille Général dans certains cas, d'où AS12 dans la feuille Data.

Est-ce plus clair ?

Cordialement
Rataxes64
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
13 févr. 2012 à 00:55
pas vraiment clair, comme mécanisme.
Je devine, mais à peine.
serait-ce tout bêtement ceci ?
Private Sub Worksheet_Change(ByVal Target As Range)

  If Not Intersect(Target, Range("E48")) Is Nothing Then

        Application.EnableEvents = false '<<=================== avant tes modifs
        If Sheets("Général").Range("K48").Value "+" Then Sheets("Général").Range("R38").Value 10  
        If Sheets("Général").Range("K48").Value "Q" Then Sheets("Général").Range("R38").Value 100  
        If Sheets("Général").Range("K48").Value "," Then Sheets("Général").Range("R38").Value 90    
        
        Sheets("Général").Range("K50").Value = "OUI"
     
        
    .......
       Application.EnableEvents = True '<<<<<<================= quand modifs finies



____________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches d'autres forumeurs.
Pas d'aide en ligne installée ? ==> ne comptez pas sur moi pour simplement vous dire ce qu'elle contient
0
CerberusPau Messages postés 377 Date d'inscription lundi 3 avril 2006 Statut Membre Dernière intervention 22 août 2018 1
13 févr. 2012 à 09:57
Bonjour,

J'avais déjà essayé ça, sans succès...

Ce que je ne pige pas, c'est que le script "de base" qui fonctionne très bien dans un nouveau classeur ouvert SEUL, ne fonctionne plus si j'ouvre (et seulement ouvre!) mon application, sauf à SAISIR la valeur changée, au lieu de simplement la choisir dans la liste déroulante de la cellule concernée!!!

Pour le moment, je voudrais laisser ce problème de côté. Je le reprendrai dans l'autre post ; ça sera peut être d'ailleurs plus utile pour les Forumeurs.

Je voudrais d'abord finaliser ici mon script d'Exportation d'Archive "complet", en ne passant plus du tout par ce (mauvais) principe (même s'il fonctionne) de mes cellules "relais" grâce à ta méthode.

Mais il faut encore qu'elle permette qu'une (ou plusieurs) des selections faites puisse être annulée (re-clic) pour donc récupérer la(les) valeur(s) Row de la sélection finale afin de lancer les recopies ligne par ligne (chaque ligne exportée "génèrant" en fait un fichier .xls)

Sans vouloir abuser, peux-tu (encore!) m'aider sur ce point ?
Je dois partir à 14h ce jour et ne pourrai me reconnecter que Jeudi prochain en fin dde journée. Mais bien sûr, entre temps, je vais "turbiner" de mon côté.

Cordialement
Rataxes64
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
13 févr. 2012 à 10:17
Mais il faut encore qu'elle permette qu'une (ou plusieurs) des selections faites puisse être annulée (re-clic) pour donc récupérer la(les) valeur(s) Row de la sélection finale afin de lancer les recopies ligne par ligne (chaque ligne exportée "génèrant" en fait un fichier .xls)
Sans vouloir abuser, peux-tu (encore!) m'aider sur ce point ?

Je veux bien, mais il faut que tu m'exposes très clairement les choses, de manière technique :
- dans quelles circonstances, cette annulation ? A quel moment précis ?
- ne crois-tu pas qu'il suffit que l'utilisateur qui se serait trompé recommence sa sélection sans cliquer sur le bouton de copie ? On peut toujours, au besoin, lui afficher une boîte de dialogue lui montrant les aires qui vont être copiées s'il continue et attendre qu'il confirme ou infirme.

Je te rappelle que mon code ne modifie rien des couleurs des lignes sélectionnées tant que le bouton de copie n'a pas été cliqué.

____________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches d'autres forumeurs.
Pas d'aide en ligne installée ? ==> ne comptez pas sur moi pour simplement vous dire ce qu'elle contient
0
CerberusPau Messages postés 377 Date d'inscription lundi 3 avril 2006 Statut Membre Dernière intervention 22 août 2018 1
13 févr. 2012 à 10:47
Voila le "cahier des charges" que j'ai :

Dans une feuille protégée et seule visible, "Archives", l'utilisateur clique sur une cellule quelconque d'un ligne, ce qui provoque la mise en gras et rouge du texte dans la première cellule de la ligne.
S'il reclique sur cette ligne, la première cellule repasse au format standard.
L'utilisateur doit pouvoir évidemment , avec le mêmes conséquences, faire une sélection 'continue", avec un clic + glisser.
Toutes les lignes dont le texte de la première cellule est Rouge + gras forment une "Sélection", qui sera "Exportée", ligne par ligne après action sur un bouton "Exporter".

La feuille Archives" peut contenir un TRES grand nombre de lignes, donc, l'utilisation d'une boucle For/next est à proscrire
L'Exportation proprement dite, consiste à créer un fichier .xls contenant une SEULE des lignes sélectionnées, et dont le nom.xls est composé à partir de certaines valeurs dans la ligne.
Si donc la sélection comporte 20 lignes, l'Exportation génèrera 20 fichiers contenant chacun la copie d'une des 20 lignes . La destination de ces fichiers est toujours dans un même répertoire dédié, et fixe (par exemple C:\InfiltroPass\Archives).

Détail important: une Archive est TOUJOURS composée des données d'une même valeur de Row sur 8 feuilles : 1°) Archives, 2°) Arch (2), juqu'à Arch (8). Le fichier d'Exportation comprend donc aussi 8 feuilles (de même nom), reprenant en ligne 1 de chacune de ses 8 feuilles, les valeurs d'un même Row de chacune des 8 feuilles Source.

J'ai fait un truc qui marche, mais très "lourd", en passant par des cellules relais, des tris et des copie multiples. Certs j'obtiens ce qu'il faut, mais il y a certainement moyen de faire mieux!

Cordialement
Rataxes64
0
Rejoignez-nous