Automatiser une macro

Bonjour à tous,

J'aimerais savoir si il est possible d'automatiser une macro? Donc ne plus avoir besoin de passé par les raccourci clavier pour qu'il fonctionne.

Voici ma macro que vba-new ma fait hier pour mon fichier. Tout fonctionne à merveille je voudrais juste qu'elle se fasse automatiquement.

Sub AutoRemplit()

Dim derlign As Long, lignFinal&

Application.ScreenUpdating = False

derlign = Range("a" & Rows.Count).End(xlUp).Row

lignFinal = Range("g" & derlign) - Range("e" & derlign) + derlign

If derlign < lignFinal Then

Range("A" & derlign & ":D" & derlign).AutoFill Destination:=Range("A" & derlign & ":D" & lignFinal), Type:=xlFillCopy

Range("E" & derlign & ":F" & derlign).AutoFill Destination:=Range("E" & derlign & ":F" & lignFinal), Type:=xlFillDefault

Range("G" & derlign).AutoFill Destination:=Range("G" & derlign & ":G" & lignFinal), Type:=xlFillCopy

End If

End Sub

Avez-vous une idée de comment je peux faire?

Je vous remercie d'avance pour votre aide.

Kisscool943

Bonjour kisscool943,

Ah j'avais pas vu que tu avais répondu sur l'autre forum. T'avais pas besoin de créer un nouveau topic, fallait envoyer un petit MP.

Pour ton problème, tu peux passer par un bouton :

216copie-de-demo.zip (13.89 Ko)

Sinon, on peut faire en sorte que ça se lance automatiquement mais quelle serait l'élément déclencheur ? Saisir la dernière valeur dans la colonne G ?

Bonjour vba-new,

Merci pour ta réponse

Je préfèrerais que ça se lance automatiquement dès que j'ai mis la dernière valeur dans la colonne G.

Est-ce possible?

Oui c'est possible avec le code évènementiel suivant :

Dim temoin As Boolean
Private Sub Worksheet_Change(ByVal Target As Range)
    If temoin Or Target.Row = 1 Or Target.Count > 1 Then Exit Sub
    If Not Application.Intersect(Target, [g:g]) Is Nothing Then
        If Target = "" Then Exit Sub
        If Application.CountA(Range("a" & Target.Row & ":f" & Target.Row)) < 6 Then
            MsgBox "Toutes les cellules précédentes n'ont pas été remplies", vbExclamation + vbOKOnly: Exit Sub
        End If
        temoin = True
        Call AutoRemplit
        temoin = False
    End If
End Sub

Pour intégrer le code, fais un clic droit sur la Feuil1 / Visualiser le code et colle le code ci-dessus. (Important : ne pas effacer la macro AutoRemplit)

131copie-de-demo-v2.zip (17.33 Ko)

Génial je vais essayer ! Merci beaucoup.

J'aurais aussi une autre question pour toi.

Étant vraiment novice dans ce domaine j'ai beaucoup de peine à trouver des solutions

Je te mets en pièce jointe mon fichier que j'ai juste modifié avec l'explication de mon nouveau problème si tu veux bien m'aider .

Je te remercie d'avance pour ton aide et pour le temps que tu prends pour m'aider


En ce qui concerne la Macro c'est génial s'est exactement se que je voulais je te remercie .

t'ai vraiment doué !

81demo-2.zip (15.23 Ko)

Ton fichier modifié :

146copie-de-demo-v3.zip (15.47 Ko)

Merci mille fois pour ton aide !

Rechercher des sujets similaires à "automatiser macro"