Bonjour,
Je vous explique mon problème :
J'ai une feuille ("BDD") où j'aimerais regrouper les informations de 3 autres feuilles du même classeur.
Deux de mes feuille ont une colonne A nommé "identifiant" où il y a des nombres qui ne sont pas dans le même ordre pour ces deux feuilles et où ma feuille "conf" dispose de plus d'informations que ma feuille "ON". "Conf" a 10000 lignes d'identifiant et "ON" en a 500.
Un identifiant n'est pas unique dans là feuille "Conf".
Ma feuille "Conf" dispose de 3 colonnes, j'aimerais récupérer ces informations dans "BDD", j ai donc fais un code qui semble fonctionner.
Un identifiant ne peut avoir qu'une seule fois le même "BP", informations se trouvant colonne 2 de "Conf".
La troisième colonne se nomme "confir".
Dans ma feuille "ON" j'aimerais récupérer les informations des colonnes M (groupe) et N (car) en fonction de ma colonne A (identifiant qui pour ma feuille "ON" est unique).
Dans ma troisième feuille "txt" je retrouve en colonne b "groupe" en colonne c "car" et en colonne d "BP".
En colonne E je dois récupérer les informations pour les mettre dans "BDD" en fonction de "groupe" "car" et "BP"
J'ai fais un code qui copie tout les champs de la feuille Conf correctement mais après elle ne copie pas les valeurs de la feuille ON, de plus elle me met l'erreur "Erreur définie par l'application ou par l'objet"
Je vous joint mon code :
Merci pour votre aide.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33 Dim k As long Dim j As long Dim i As long for i = 2 to 10000 Sheets("BDD").Cells(i, 1).Value = Sheets("Conf").Cells(i, 1).Value Sheets("BDD").cells(i, 2).Value = Sheets("Conf").Cells(i, 2).Value Sheets("BDD").Cells(i, 3).Value = Sheets("Conf").Cells(i, 3).Value next i For j = 1 to 8100 k = 2 Do while Sheets("BDD").Cells(j, 1).Value <> "" If Sheets("BDD").Cells(j, 1).Value = Sheets("ON").Cells(k, 1).Value Then Sheets("BDD").Cells(j, 4).Value = Sheets("ON").Cells(k, 13).Value Sheets("BDD").Cells(j, 5).Value = Sheets("ON").Cells(k, 14).Value ElseIf Sheets("BDD").Cells(j, 1).Value <> Sheets("ON").Cells(k, 1).Value Then k = k + 1 j = j - 1 End if Loop next j
Partager