Bonjour or Bonsoir !
Désolée pour le titre un peu confus je vais essayer d'être plus clair ici.
J'ai une feuille excel "references"qui contient une 100aine de references.
Et dans un autre classeur nommé "Tableau" j'ai une feuille "ToutesLesReferences" qui contient un tableau de plusieurs centaines de references toutes associées a d'autres critères.
Mon but c'est que si dans la grosse feuille "ToutesLesReferences" je trouve une reference qui existe dans ma feuille "references" alors ca me copie les element des colonnes 4,19,24 et 26 de cette ligne dans l'autre feuille.
Je ne sais pas si je suis très claire ?
Je pense que "traduit" d'une manière un peu plus informatique ca donnerait une boucle du genre
Pour la cellule contenant ma 1ere reference dans la feuille References
Si dans la colonne C de la feuille ToutesLesReferences du classeur Tableau je trouve la même valeur alors
copie les lignes des colonnes 4,19,24 et 26 (surement cells(i,4) cells(i,19) ...?) dans la feuille References
fin si
fin pour
Je ne connais pas bien toutes les formules d'Excel je sais qu'avec les macros c'est plus simple mais il faudrait un code se rapprochant plus du dev pascal tout en utilisant des propriétés propres de VBA et qui nous facilite la vie.
Je vous joins mon classeur de references ainsi qu'un petit bout de mon énorme tableau.
J'ai fais un code qui marche bien quand il y a peu de valeurs, j'essaye de l'adapter pour un fichier avec des dimensions inconnues grace a un tableau, mais tous mes efforts sont vains ...
Désolée pour le titre un peu confus je vais essayer d'être plus clair ici.
J'ai une feuille excel "references"qui contient une 100aine de references.
Et dans un autre classeur nommé "Tableau" j'ai une feuille "ToutesLesReferences" qui contient un tableau de plusieurs centaines de references toutes associées a d'autres critères.
Mon but c'est que si dans la grosse feuille "ToutesLesReferences" je trouve une reference qui existe dans ma feuille "references" alors ca me copie les element des colonnes 4,19,24 et 26 de cette ligne dans l'autre feuille.
Je ne sais pas si je suis très claire ?
Je pense que "traduit" d'une manière un peu plus informatique ca donnerait une boucle du genre
Pour la cellule contenant ma 1ere reference dans la feuille References
Si dans la colonne C de la feuille ToutesLesReferences du classeur Tableau je trouve la même valeur alors
copie les lignes des colonnes 4,19,24 et 26 (surement cells(i,4) cells(i,19) ...?) dans la feuille References
fin si
fin pour
Je ne connais pas bien toutes les formules d'Excel je sais qu'avec les macros c'est plus simple mais il faudrait un code se rapprochant plus du dev pascal tout en utilisant des propriétés propres de VBA et qui nous facilite la vie.
Je vous joins mon classeur de references ainsi qu'un petit bout de mon énorme tableau.
J'ai fais un code qui marche bien quand il y a peu de valeurs, j'essaye de l'adapter pour un fichier avec des dimensions inconnues grace a un tableau, mais tous mes efforts sont vains ...
Code:
Private Sub CommandButton1_Click()
Dim i As Long
Dim j As Long
For i = 1 To 20
For j = 1 To 16
If Workbooks("Essai2.xls").Sheets("Hoja1").Cells(i, 1).Value = ActiveWorkbook.ActiveSheet.Cells(j, 1) Then
Workbooks("Essai2.xls").Sheets("Hoja1").Cells(i, 2).Copy Destination:=ActiveWorkbook.ActiveSheet.Cells(j, 2)
Workbooks("Essai2.xls").Sheets("Hoja1").Cells(i, 3).Copy Destination:=ActiveWorkbook.ActiveSheet.Cells(j, 3)
End If
Next j
Next i
End Sub
Pièces jointes
Dernière édition: