Bonjour,
je souhaite automatiser un fichier excel dont les données vont changer regulierement. Il y a trois collones sur lesquelles je souhaite fusionner les doublons (j'ai déja trié par odre alpha mes collones). Mes données sont des chaines de caractères et j'ai 1000 lignes dans mon tableau. le nombre de lignes est également suceptible de changer dans le prochain fichier auquel je devrais appliquer la macro.
J'ai fais un code en utilisant une boucle while et une valeur boolean mais je suis bloqué. Je dois me planter au niveau des paramètres d'entrés ou bien j'oublie une variable. voila mon code(je débute dans VBA et ça doit se voir)
Donc en premier je fais la lecture de mon tableau (pour la colloneA). Ensuite je fais ma boucle pour trouver quelles sont les données similaires et je fais l'affichage. Je sais bien qu'il me manque pas mal de choses dans mon code et j'ai vraiment besoin d'aide. Merci à vous si vous pouvez m'aider.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 Sub saisieBTN(n As Integer) Dim vbtab2(2000) As String Dim i As Integer n = 2000 Worksheets("SalesCredit").Activate For i = 1 To n vbtab2(i) = Range("a" & i).Value Next End Sub
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 Function fusion(n As Integer, vbtab2()) As Boolean Dim i As Integer Dim j As Integer Dim b As Boolean n = 2000 b = False While i < n & j < n + 1 And b <> True If vbtab2(j).Value = vbtab2(i).Value Then b = True End If j = i + 1 Wend fusion = b End Function
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 Sub AffichageBTN(n As Integer, vbtab2() As String) Dim i As Integer If fusion(n, vbtab2()) = True Then Range("a" & i).Select Selection.MergeCells = True End If End Sub sub PP() Call saisieBTN(n) Call AffichageBTN(n, vbtab2()) end sub
Partager