Ajout d'une ligne dépendante de la position du bouton

Bonjour,

Je travaille sur la simplification d'un fichier de suivi. L'objectif de celui-ci est de répertorier l'ensemble des modifications effectuées sur nos protocoles.

Je souhaiterais donc que lorsque qu'une personne souhaite enregistrer sa modification il soit le plus simple possible pour elle de le faire. J'ai donc voulu créer une macro permettant de simplement cliquer sur un bouton pour insérer une ligne et ainsi l'ajouter à un endroit précis.

Tout fonctionne très bien tant que je joue sur un seul protocole mais dès l'ajout d'un second avec sa macro associé je ne parviens pas à la paramétrer pour toujours insérer des lignes au bon endroit... Je ne sais pas si je suis très claire mais j'ai re-détaillé mon problème dans le fichier joint.

N'hésitez pas à me poser des questions concernant mon objectif si nécessaire

Cordialement,

Pitchounette

Bonjour,

1) Renommer tes boutons : Protocole 1, Protocole 2 (éventuellement d'autres)

2) Affecter la macro ci-dessous à tous les boutons.

Sub AjouterLigne()
    Dim prtcl$, n%
    prtcl = Application.Caller
    With ActiveSheet
        On Error GoTo errprtcl
        n = WorksheetFunction.Match(prtcl, .Columns("A"), 0) + 1
        On Error GoTo 0
        .Range("A" & n).Resize(, 9).Insert xlShiftDown, xlFormatFromRightOrBelow
        With .Range("A" & n).Resize(, 9).Borders
            .LineStyle = xlContinuous
            .Weight = xlThin
        End With
    End With
errprtcl:
End Sub

Ce qui évitera beaucoup de contorsions...

NB- Quand on enregistre du code (le mieux étant de l'écrire directement ) il est souhaitable de décoder exactement ce qu'on a enregistré, ce qui permet de supprimer ce qui ne sert pas, remplacer ce qui n'est pas adéquat, introduire des instructions que l'enregistreur ignorera toujours...

Tout d'abord merci beaucoup pour votre rapidité

Je ne maitrise absolument pas les codes pour les macros et je pense qu'il me faudra de longues heures pour décoder un jour votre code. De ce fait je ne parviens pas à comprendre dans qu'elle ligne je dois intervenir pour adapter la macro à "protocole 3" par exemple. J'ai voulu m'entrainer et essayer de comprendre comment elle agissait mais impossible de faire que mon bouton "Protocole 3" ajoute des lignes sous "Protocole 3" il continu de m'en ajouter sous "protocole 2"

Je me permet d'évoquer une autre difficulté sur le positionnement des boutons, est-il possible de les forcer à se décaler lors de l'ajout d'une ligne pour s'assurer qu'il reste en concordance de lecture avec leur protocole.

Encore merci pour votre aide !!!

Tu n'as pas bien lu... Tu as fait une copie de Protocole 2 pour le 3, lequel a gardé le nom Protocole 2...

Tu fais un clic droit sur le bouton, son nom apparaît dans la zone Nom (à gauche de la barre de formule), c'est là que tu le modifies, puis tu valides par Entrée.

Le nom à mettre est Protocole 3, soit la mention qui figure en A25...

La macro est facile à comprendre :

  • l'expression Application.Caller renvoie le nom du bouton ou de la forme qui a appelée la macro.
  • on récupère ce nom dans une variable (prtcl)
  • on utilise cette variable pour rechercher la ligne en colonne A où se trouve cette mention (en utilisant la fonction Excel EQUIV, mais on aurait pu défiler les lignes jusqu'à la trouver...)
  • on ajoute +1 puisque l'insertion va se faire à la ligne en-dessous
  • il ne reste plus qu'à faire l'insertion : on définit la plage d'insertion avec A(colonne) et n(ligne) qu'on redimensionne sur 9 colonnes, on insère avec le paramètre xlShiftDown (qui indique un déplacement vers le bas des autres lignes) et le paramètre de format (utile contrairement au paramètre par défaut mis par l'enregistreur, car il permet d'aligner le format sur la ligne du dessous...)
  • enfin, on place les bordures...

Cordialement.

Super je n'avais pas vu le bouton en haut à gauche, je ne savais pas qu'il existait

C'est sur qu'avec les explications adéquates l'expression informatique de mon besoin est bien plus cohérente que ce que je pensais.

Je suppose que c'est à force de pratiquer et discuter avec les autres que l'on fini par savoir comment retranscrire son besoin en langage excel mais sans les explications les macros me semblent pour l'instant simplement être une suite de chiffres, lettres et symboles plus ou moins organisés

Encore merci pour ton aide et tes explications qui me permettent d'y voir plus clair dans ton travail.

Cordialement,

C'est un langage à apprendre . Il y a quelques bases indispensables pour se repérer, puis le reste vient à l'usage...

Rechercher des sujets similaires à "ajout ligne dependante position bouton"