Macro évènementielle

Résolu
Bonjour,
Suite à laide apprécié de yg_be que je remercie, je cherche une macro du style ou de modifier le code :

https://forums.commentcamarche.net/forum/affich-35348711-selection-plage-cellules#p35352719

Je pense que c'est cette ligne qui devrait être modifiée :
Call rg.FormatConditions.Add(xlExpression, , "=NON(MOD(LIGNE();2))") '=NON(MOD(LIGNE();2)) =NOT(MOD(ROW();2))

En feuille 1 :
Ce que je désire c'est que la macro sélectionne la plage A2:Z2 et la copie (cette ligne 2 étant toujours au bon format).
Puis la macro sélectionne une plage variable de A3 à Zxxx, (le nombre de ligne variant en plus ou en moins) et colle le format de la zone copiée sur l'ensemble de la plage.
La macro s'exécuant lors de l'ajout de ligne, ca je ne pense pas qu'en cas de suppression ou de modification cela soit nécessaire.
Bien sur, s'il était possible de cumuler les deux fonctions sur le même code, ce serait génial.
En vous remerciant.

5 réponses

  1. Bonjour Frenchie,
    Agréable surprise pour moi ce matin, c'est parfait et je te remercie car je n'y parvenais pas
    En te souhaitant une excellente journée
    Au plaisir
    0
    1. Bonjour,
      Voilà,
      https://mon-partage.fr/f/boHdE3Zt/
      Cdlt
      0
      1. Bonjour Frenchie
        Je te remercie de me répondre
        Ton code est bien sauf qu'il reproduit les bordures que je ne veux pas
        ex image colonne W, elle devrait être comme la colonne Y
        0
        1. Ok, mais sur quel support puis-je me baser pour appliquer le format attendu?
          Combien de colonnes?
          Un bout du fichier (sans donnée confidentielle) serait le bienvenu
          0
      2. Bonjour,
        Si j'ai bien compris
        https://mon-partage.fr/f/hY4WRspl/

        Le code:
        Option Explicit
        
        Sub jean300()
            Dim Derlig As Long
            Dim sh As Worksheet
            Dim rg As Range
            Dim fc
            Application.ScreenUpdating = False
            Set sh = ThisWorkbook.Sheets("Feuil1")
            Derlig = [A10000].End(xlUp).Row
            Set rg = sh.Range("A2:Z" & Derlig)
            rg.FormatConditions.Delete
            Set fc = rg.FormatConditions.Add(Type:=xlExpression, Formula1:="=MOD(LIGNE();2)=0")
            rg.FormatConditions(1).Interior.PatternColorIndex = xlAutomatic
            rg.FormatConditions(1).Interior.ColorIndex = 35
        End Sub


        Cdlt
        0