Bonjour,
Comme toute personne venant ici j'aurais besoin d'explication.
Voilà la situation dans laquelle je me trouve, j'ai deux tableaux dans mon onglet Feuil1 sous Excel et je veux transférer les valeurs de la deuxième colonne de mon tableau1 dans la deuxième colonne de mon tableau2 lorsque les premières colonne de ces deux tableaux sont égaux.
Exemple:
Tableau1-----------------Tableau2
Colonne1-Colonne2-------Colonne1-Colonne2
---A--------12--------------A
---B--------10--------------D
---C--------45--------------A
---D--------0---------------B
Donne:
Tableau1-----------------Tableau2
Colonne1-Colonne2-------Colonne1-Colonne2
---A--------12--------------A--------12
---B--------10--------------D--------0
---C--------45--------------A--------12
---D--------0---------------B--------10
J'ai donc créé la macro suivante:
Le problème comme je l'ai indiqué dans le titre et que je ne connais pas vraiment la syntaxe du VBA j'ai donc regardé un certain nombre d'exemple, mais malgré tous je n'arrive pas à comprendre ce qui ne va pas.
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 Sub RetrancrireValDefaut() Dim ValDefaut As Range Dim ValARemplir As Range Dim CptDefaut As Integer Dim CptARemplir As Integer With Worksheets("Feuil1") ValDefaut = .Range("A2").Value ValARemplir = .Range("W2").Value CptDefaut = 2 CptARemplir = 2 While Not (ValARemplir = "") While ((ValARemplir <> ValDefaut) Or (ValDefaut <> "")) CptDefaut = CptDefaut + 1 ValDefaut = .Cells(1, CptDefaut).Value Wend If (ValDefaut = ValARemplir) Then .Cells(24, CptARemplir).Value = .Cells(2, CptDefaut).Value End If CptARemplir = CptARemplir + 1 ValARemplir = .Cells(23, CptARemplir).Value Wend End With End Sub
Je supposais que le problème venait du with Worksheets("Feuil1") mais lorsque je l’enlève le problème persiste et en plus la syntaxe .Range ou .Cells ne doit plus être correcte si je l'enlève (pas sûr).
Bref si vous pouviez m'aider sur la syntaxe (si vous voyez une erreur dans l'algorithme on est pas obligé de la laisser non plus).
L'erreur lors de la compilation et erreur d'éxécution 91 Variable objet ou variable du bloc with non définie.
Partager