je suis une tare en VBA et j'ai une idée de macro mais n'ai pas les connaissances techniques pour la réalisation.
je sollicite donc votre aide.
Pourriez-vous m'aider à réaliser cela ?
valable pour toutes les lignes du tableau
j'aimerais que quand je clique sur ce bouton et si la cellule I2 est remplie
cela :
copie les cellules D2 et les colle en colonne W2
copie les cellules N2 ; et les colle en colonne D2
copie la cellule R2 et colle en cellule G2
suppression contenu cellule I2 ; J2;K2;M2;N2;Q2;R2;T2;U2
Ce serait super cool de votre part de m'aider et surtout de m'expliquer comment fonctionne cette macro afin que je puisse la comprendre et progresser.
Encore une fois, merci de votre attention et MERCI de votre aide (en PJ, un exemple de fichier)
un essai avec ce code à mettre dans un module standard et à affecter à ton bouton
VB:
Sub Mutations()
With ActiveSheet
fin = .UsedRange.Rows.Count
For i = 2 To fin
If .Range("I" & i) <> "" Then
.Range("W" & i) = .Range("D" & i)
.Range("D" & i) = .Range("N" & i)
.Range("G" & i) = .Range("R" & i)
.Range("I" & i & ":K" & i).ClearContents
.Range("M" & i & ":N" & i).ClearContents
.Range("Q" & i & ":R" & i).ClearContents
.Range("T" & i & ":U" & i).ClearContents
End If
Next i
End With
End Sub
Normalement. ca se comprend "intuitivement" avec la traduction Anglais -Francais.
dis moi s'il reste des lignes obscures :-D
fin est une variable a laquelle on attribue la valeur .UsedRange.Rows.Count soit les cellules utilisées dans une feuille active (d'où le With ActiveSheet juste avant). Ca permet ensuite de faire une boucle et parcourir non pas toutes les cellules du fichier mais uniquement les cellules utilisées
Message supprimé pour ne pas influencer les autres vers une erreur. Mais ce que je ne comprends pas c'est pourquoi ce n'est pas utile ? Le SI ne doit s'appliquer que si i est vide, mais je ne vois pas comment on traite cette condition ? Si DATE de R > DATE de i peut être vrai aussi bien avec I vide que complété
Effectivement, si le que de "cette macro s'éxécute que si la date comprise dans la colonne R est dépassée ?" exclu la première demande "j'aimerais que quand je clique sur ce bouton et si la cellule I2 est remplie cela :"