lancer une macro lors de la saisie d'une cellule

  • Initiateur de la discussion Initiateur de la discussion nsqualli
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

N

nsqualli

Guest
Bonjour,

j'ai une macro qui genere une feuille excelle avec un entete de tabeau, ce que je veux faire c'est lorsque je saisi dans une cellule de la premiere ligne vide apres l'entete du tableau, une macro se lance automatiquement pour ajouter les bordure et colore le fond de la plage de cette ligne.

SVP comment je peux faire cela? et c'est quoi l'evenement qui lancera cette macro?

Merci beaucoup
 
Re : lancer une macro lors de la saisie d'une cellule

oui mais dans ce cas je dois ajouter cette condition chaque fois que je crée cette feuille.
ou bien l'indiquer dans ma macro pour que ça soit integrer a la feuille generer( et ça je ne sais pas comment le faire).
si tu peux m'aider je te serai reconnaissant.
merci
 
Re : lancer une macro lors de la saisie d'une cellule

Re,

à partir de l'enregistreur, il faudra bien sûr l'adapter :

Code:
    Sheets.Add
    Range("A1").Value = "Titre1"
    Range("B1").Value = "Titre2"
    Range("C1").Value = "Titre3"
    Range("D1").Value = "Titre4"
    With Range("A1:D1")
        .HorizontalAlignment = xlCenter
        .Font.Bold = True
        With .Borders(xlEdgeLeft)
            .LineStyle = xlContinuous
            .Weight = xlThin
            .ColorIndex = xlAutomatic
        End With
        With .Borders(xlEdgeTop)
            .LineStyle = xlContinuous
            .Weight = xlThin
            .ColorIndex = xlAutomatic
        End With
        With .Borders(xlEdgeBottom)
            .LineStyle = xlContinuous
            .Weight = xlThin
            .ColorIndex = xlAutomatic
        End With
        With .Borders(xlEdgeRight)
            .LineStyle = xlContinuous
            .Weight = xlThin
            .ColorIndex = xlAutomatic
        End With
        With .Borders(xlInsideVertical)
            .LineStyle = xlContinuous
            .Weight = xlThin
            .ColorIndex = xlAutomatic
        End With
        With .Interior
            .ColorIndex = 35
            .Pattern = xlSolid
        End With
    End With
    With Range("A2:D65536")
        .FormatConditions.Add Type:=xlExpression, Formula1:="=$A1<>"""""
        With .FormatConditions(1).Borders(xlLeft)
            .LineStyle = xlContinuous
            .Weight = xlThin
            .ColorIndex = xlAutomatic
        End With
        With .FormatConditions(1).Borders(xlRight)
            .LineStyle = xlContinuous
            .Weight = xlThin
            .ColorIndex = xlAutomatic
        End With
        With .FormatConditions(1).Borders(xlTop)
            .LineStyle = xlContinuous
            .Weight = xlThin
            .ColorIndex = xlAutomatic
        End With
        With .FormatConditions(1).Borders(xlBottom)
            .LineStyle = xlContinuous
            .Weight = xlThin
            .ColorIndex = xlAutomatic
        End With
        .FormatConditions(1).Interior.ColorIndex = 36
    End With
    Range("A1").Select
 
Re : lancer une macro lors de la saisie d'une cellule

oui ça je sais le faire mais je veux savoir comment je peux faire pour declencher cette macro quand je saisi quelque chose dans les cellules de la colonne B par exemple.
 
Re : lancer une macro lors de la saisie d'une cellule

Bonsoir
Toto, lorsque nous utilisons cela;
HTML:
        With .Borders(xlEdgeLeft)
            .LineStyle = xlContinuous
            .Weight = xlThin
            .ColorIndex = xlAutomatic
        End With
Si tu enleve " xlEdgeLeft "
cela permet de ne pas avoir à le répeter pour tous les cotes donc pas besoin de le repeter 4 fois ( je ne sais pas si je suis clair )
 
Re : lancer une macro lors de la saisie d'une cellule

Bonsoir
Toto, lorsque nous utilisons cela;
HTML:
        With .Borders(xlEdgeLeft)
            .LineStyle = xlContinuous
            .Weight = xlThin
            .ColorIndex = xlAutomatic
        End With
Si tu enleve " xlEdgeLeft "
cela permet de ne pas avoir à le répeter pour tous les cotes donc pas besoin de le repeter 4 fois ( je ne sais pas si je suis clair )

oui, mais c pas ce que je veux.
je veux que la macro qui contient ce code, se declenche quand je saisi quelque chose dans une cellule.
 
Re : lancer une macro lors de la saisie d'une cellule

Bonjour,

Merci pour votre aide, j'ai trouvé l'evenement, c'est :
Code:
WorkSheet_Change(ByVal Target As Range)

apres il faut conditionner le target.

Bon courage.
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Retour