Copier plusieurs cellules d'une autre feuille selon une référenc
Résolu
peanuts2438
-
peanuts2438 -
peanuts2438 -
A voir également:
- Copier plusieurs cellules d'une autre feuille selon une référenc
- Comment copier une vidéo youtube - Guide
- Formule excel pour additionner plusieurs cellules - Guide
- Bruler une feuille de laurier - Guide
- Comment supprimer une feuille sur word - Guide
- Comment imprimer en a5 sur une feuille a4 - Guide
9 réponses
Bonjour,
oui c'est possible
Quand tu dis " j'aimerais rentrer cette référence dans ma première cellule", cette cellule est sur la première ou sur la deuxième feuille ?
Sur la première feuille, precise les lettres des colonnes que tu souhaites récuperer et la colonne dans laquelle est stcokée ta réfèrence 6 chiffres.
oui c'est possible
Quand tu dis " j'aimerais rentrer cette référence dans ma première cellule", cette cellule est sur la première ou sur la deuxième feuille ?
Sur la première feuille, precise les lettres des colonnes que tu souhaites récuperer et la colonne dans laquelle est stcokée ta réfèrence 6 chiffres.
Pardon alors sur la Feuille 1 j'ai :
A2 : référence compte client
B2 : autre référence
C2 : Nom
D2 : autre nom
E2 : Adresse
F2 : Code Postal
G2 : Ville
H2 : téléphone
I2 : ciblage
Et donc sur la feuille 2, j'aimerais taper la référence en A1 qui se trouve en A2 sur l'autre feuille et que ça me copie automatique les cellules C2, F2, G2 et I2 de la feuille 1 en B1, C1, D1 et E1 sur la feuille 2
J'espere avoir été assez claires !
A2 : référence compte client
B2 : autre référence
C2 : Nom
D2 : autre nom
E2 : Adresse
F2 : Code Postal
G2 : Ville
H2 : téléphone
I2 : ciblage
Et donc sur la feuille 2, j'aimerais taper la référence en A1 qui se trouve en A2 sur l'autre feuille et que ça me copie automatique les cellules C2, F2, G2 et I2 de la feuille 1 en B1, C1, D1 et E1 sur la feuille 2
J'espere avoir été assez claires !
oui parfaitement,
voici ce que je te propose :
dans ta feuil 2, tu inscris ta reference 6 chiffres dans la colone A. tu doubleclic dessus et la macro demarre.
Si ton nom d'onglet de ta feuille 1 est different de "Feuil1", tu dois mettre le bon nom dans la macro (remplacer feuil1 par xxxxxx).
tu colles la macro dans la Feuille 2.
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
ligne = Val(Mid(ActiveCell.Address, 4, 4))
If Mid(ActiveCell.Address, 2, 1) = "A" Then
For i = 1 To Sheets("feuil1").Range("A65500").End(xlUp).Row
If ActiveCell = Sheets("feuil1").Cells(i, 1) Then
Sheets("feuil1").Cells(i, 3).Copy
Cells(ligne, 2).Select
ActiveSheet.Paste
Sheets("feuil1").Cells(i, 6).Copy
Cells(ligne, 3).Select
ActiveSheet.Paste
Sheets("feuil1").Cells(i, 7).Copy
Cells(ligne, 4).Select
ActiveSheet.Paste
Sheets("feuil1").Cells(i, 9).Copy
Cells(ligne, 5).Select
ActiveSheet.Paste
Exit Sub
End If
Next i
End If
End Sub
voici ce que je te propose :
dans ta feuil 2, tu inscris ta reference 6 chiffres dans la colone A. tu doubleclic dessus et la macro demarre.
Si ton nom d'onglet de ta feuille 1 est different de "Feuil1", tu dois mettre le bon nom dans la macro (remplacer feuil1 par xxxxxx).
tu colles la macro dans la Feuille 2.
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
ligne = Val(Mid(ActiveCell.Address, 4, 4))
If Mid(ActiveCell.Address, 2, 1) = "A" Then
For i = 1 To Sheets("feuil1").Range("A65500").End(xlUp).Row
If ActiveCell = Sheets("feuil1").Cells(i, 1) Then
Sheets("feuil1").Cells(i, 3).Copy
Cells(ligne, 2).Select
ActiveSheet.Paste
Sheets("feuil1").Cells(i, 6).Copy
Cells(ligne, 3).Select
ActiveSheet.Paste
Sheets("feuil1").Cells(i, 7).Copy
Cells(ligne, 4).Select
ActiveSheet.Paste
Sheets("feuil1").Cells(i, 9).Copy
Cells(ligne, 5).Select
ActiveSheet.Paste
Exit Sub
End If
Next i
End If
End Sub
wahou merci beaucoup par contre c'est un peu du chinois pour moi tout ça !!!
Si j'ai bien compris il faut que je copie tout ce que tu m'as mis, en remplacant feuille 1 par son vrai nom, par contre je colle où tout ça ?
Si j'ai bien compris il faut que je copie tout ce que tu m'as mis, en remplacant feuille 1 par son vrai nom, par contre je colle où tout ça ?
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
sinon donne moi le nom de ton premier onglet et je le fais.
pour coller la macro, tu ouvres ton fichier, tu tapes alt+F11 pour ouvrir l'editeur vba puis tu double clic sur feuil2 et tu colles la macro dans la fenetre a droite
il faut ensuite enregister ton fichier avec l'extension .XLSM (contient des macros)
pour coller la macro, tu ouvres ton fichier, tu tapes alt+F11 pour ouvrir l'editeur vba puis tu double clic sur feuil2 et tu colles la macro dans la fenetre a droite
il faut ensuite enregister ton fichier avec l'extension .XLSM (contient des macros)
J'ai essayé mais rien ne se passe, voila le nom de mon onglet ETAT BE AU 191213
Lorsque le Visual Basic Editor s'ouvre je double clique sur ma Feuil2, je colle toute la formule, et je ferme l'editeur ou il faut faire quelque chose en plus ?
Lorsque le Visual Basic Editor s'ouvre je double clique sur ma Feuil2, je colle toute la formule, et je ferme l'editeur ou il faut faire quelque chose en plus ?
voici la macro modifiée :
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
ligne = Val(Mid(ActiveCell.Address, 4, 4))
If Mid(ActiveCell.Address, 2, 1) = "A" Then
For i = 1 To Sheets("ETAT BE AU 191213 ").Range("A65500").End(xlUp).Row
If ActiveCell = Sheets("ETAT BE AU 191213 ").Cells(i, 1) Then
Sheets("ETAT BE AU 191213 ").Cells(i, 3).Copy
Cells(ligne, 2).Select
ActiveSheet.Paste
Sheets("ETAT BE AU 191213 ").Cells(i, 6).Copy
Cells(ligne, 3).Select
ActiveSheet.Paste
Sheets("ETAT BE AU 191213 ").Cells(i, 7).Copy
Cells(ligne, 4).Select
ActiveSheet.Paste
Sheets("ETAT BE AU 191213 ").Cells(i, 9).Copy
Cells(ligne, 5).Select
ActiveSheet.Paste
Exit Sub
End If
Next i
End If
End Sub
il faut peut avant que tu active l'onglet developpeur. pour ce faire :
dans le menu fichier/options/personnaliser le ruban, tu coches la case a coté de developpeur
lorsque que l'editeur s'ouvre tu verras une arboresence à gauche et c'est ici que tu double clic sur feuil2. tu colles la macro dans la fentre a droite et tu fermes avec la croix rouge
c'est pret a fonctionner.
Pour enregistrer le fichier avec la macro, tu fais enregistrer sous et dans type tu choisi classeur prenant en charge les macro .xlsm
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
ligne = Val(Mid(ActiveCell.Address, 4, 4))
If Mid(ActiveCell.Address, 2, 1) = "A" Then
For i = 1 To Sheets("ETAT BE AU 191213 ").Range("A65500").End(xlUp).Row
If ActiveCell = Sheets("ETAT BE AU 191213 ").Cells(i, 1) Then
Sheets("ETAT BE AU 191213 ").Cells(i, 3).Copy
Cells(ligne, 2).Select
ActiveSheet.Paste
Sheets("ETAT BE AU 191213 ").Cells(i, 6).Copy
Cells(ligne, 3).Select
ActiveSheet.Paste
Sheets("ETAT BE AU 191213 ").Cells(i, 7).Copy
Cells(ligne, 4).Select
ActiveSheet.Paste
Sheets("ETAT BE AU 191213 ").Cells(i, 9).Copy
Cells(ligne, 5).Select
ActiveSheet.Paste
Exit Sub
End If
Next i
End If
End Sub
il faut peut avant que tu active l'onglet developpeur. pour ce faire :
dans le menu fichier/options/personnaliser le ruban, tu coches la case a coté de developpeur
lorsque que l'editeur s'ouvre tu verras une arboresence à gauche et c'est ici que tu double clic sur feuil2. tu colles la macro dans la fentre a droite et tu fermes avec la croix rouge
c'est pret a fonctionner.
Pour enregistrer le fichier avec la macro, tu fais enregistrer sous et dans type tu choisi classeur prenant en charge les macro .xlsm
Bonjour à tous,
Houlaa, pas besoin de macro à mon avis. En Feuil2!B1 :
=RECHERCHEV($A1;Feuil1!$A$1:$I$20;3;FAUX)
à tirer vers la droite.
Sur les autres formules remplacer le 3 par le n° de la colonne souhaitée.
(3 = colonne C, Nom)
eric
En plus du merci (si si, ça se fait !!!), penser à mettre en résolu lorsque c'est le cas (en haut vers votre titre).
Merci
Houlaa, pas besoin de macro à mon avis. En Feuil2!B1 :
=RECHERCHEV($A1;Feuil1!$A$1:$I$20;3;FAUX)
à tirer vers la droite.
Sur les autres formules remplacer le 3 par le n° de la colonne souhaitée.
(3 = colonne C, Nom)
eric
En plus du merci (si si, ça se fait !!!), penser à mettre en résolu lorsque c'est le cas (en haut vers votre titre).
Merci