Bonjour,
Je me met progressivement au VBA sur Excel et je n'arrive pas à faire en sorte que d'une position de cellule, ma macro recalcule une autre position.
Exemple :
J'ai une macro qui cherche dans la zone E11:E40 pour chaque ligne si le mot est "nouveau".
Alors la condition doit me recopier les cellules Bx : Dx de la ligne où il a trouvé "nouveau". (x étant le numéro de la ligne où "nouveau" est trouvé)
Je vous donne le code de ma macro sachant que j'ai essayé de créer une variable (va) qui serait la valeur -3 de la valeur v, mais cela ne fonctionne pas.
Il y a un onglet "PARAMETRAGE" et un onglet "bdd liste", le premier contient les informations à recopier et le second est la destination des informations recopiés.
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 Dim LastLig As Long Dim v As Range, c As Range 'zone où l'information doit être copiée - pour la zone "nouveau" With Sheets("bdd liste") Dim va As Range ' zone ou l'information doit être prise (source de l'information) For Each v In Sheets("PARAMETRAGE").Range("e11:e40") If v.Value = "nouveau" Then ' zone où la modificaiton doit avoir lieu Set c = .UsedRange.Range("A400") If Not c Is Nothing Then va = v - 3 'nombre de colonnes concernée par la modification c.Resize(1, 3).Value = va.Resize(1, 3).Value Set c = Nothing End If End If Next v End With ' End Sub
J'espère que c'est clair dans l'explication.
Merci d'avance.
Partager