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

  • Votes
  • Date
  • Date décroissante
  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
    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
      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
    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