Copier plusieurs cellules d'une autre feuille selon une référenc
Résolu/Fermé
A voir également:
- Copier plusieurs cellules d'une autre feuille selon une référenc
- Formule excel pour additionner plusieurs cellules - Guide
- Copier une vidéo youtube - Guide
- Comment supprimer une feuille sur word - Guide
- Aller à la ligne dans une cellule excel - Guide
- Feuille de pointage excel - Télécharger - Tableur
9 réponses
dlt-pan
Messages postés
481
Date d'inscription
jeudi 17 mai 2007
Statut
Membre
Dernière intervention
23 décembre 2014
67
10 janv. 2014 à 10:39
10 janv. 2014 à 10:39
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 !
dlt-pan
Messages postés
481
Date d'inscription
jeudi 17 mai 2007
Statut
Membre
Dernière intervention
23 décembre 2014
67
10 janv. 2014 à 11:13
10 janv. 2014 à 11:13
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
dlt-pan
Messages postés
481
Date d'inscription
jeudi 17 mai 2007
Statut
Membre
Dernière intervention
23 décembre 2014
67
Modifié par dlt-pan le 10/01/2014 à 11:37
Modifié par dlt-pan le 10/01/2014 à 11:37
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 ?
dlt-pan
Messages postés
481
Date d'inscription
jeudi 17 mai 2007
Statut
Membre
Dernière intervention
23 décembre 2014
67
Modifié par dlt-pan le 10/01/2014 à 11:57
Modifié par dlt-pan le 10/01/2014 à 11:57
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
eriiic
Messages postés
24600
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
21 octobre 2024
7 238
Modifié par eriiic le 10/01/2014 à 12:08
Modifié par eriiic le 10/01/2014 à 12:08
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