IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

Mise en forme conditionnelle et insertion de lignes [XL-2013]


Sujet :

Macros et VBA Excel

  1. #1
    Membre habitué
    Homme Profil pro
    sans
    Inscrit en
    mai 2007
    Messages
    470
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : sans

    Informations forums :
    Inscription : mai 2007
    Messages : 470
    Points : 192
    Points
    192
    Par défaut Mise en forme conditionnelle et insertion de lignes
    Bonjour à tous (et à toutes)

    Je dispose d’un tableau Excel sur la plage A2 :Q10, la ligne 2 étant (bien entendu) occupée par des en-têtes de colonnes.
    J’ai appliqué une mise en forme conditionnelle à toute la colonne J (en mettant S’applique à =$J :$J).
    Mon problème survient quand j’insère une ligne à la place de la ligne 3 et que je lui applique la mise en forme de ce qui est devenu la ligne 4 :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Rows("3:3").Select
    Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromRightOrBelow
     
        Rows("4:4").Select
        Selection.Copy
        Rows("3:3").Select
        Selection.PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, _
            SkipBlanks:=False, Transpose:=False
        Application.CutCopyMode = False
    Une ligne supplémentaire de mise en forme est créée (et S’applique à =$J3 :$J3).
    La mise en forme de la plage J4 :J11 s’applique maintenant à =$J$1:$J$2;$J$4:$J$1048576.

    Je vais avoir à insérer des milliers de lignes et me demande si Excel sera capable d’ajouter autant de lignes dans les mises en forme.
    Peut-être y a t'il moyen de modifier mon code afin de ne plus avoir ce problème.

    Un grand merci d'avance.

  2. #2
    Membre actif
    Homme Profil pro
    Formateur bureautique
    Inscrit en
    janvier 2021
    Messages
    143
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Formateur bureautique
    Secteur : Enseignement

    Informations forums :
    Inscription : janvier 2021
    Messages : 143
    Points : 229
    Points
    229
    Par défaut Piste
    Bonjour
    s'il s'agit d'un tableau structuré, cela devrait se faire sans reparamétrer quoi que ce soit, si je ne dis pas de bêtises

    Sinon, ce que je ferais, c'est de virer la mise en forme conditionnelle complète pendant l'exécution de la macro puis la réinitialiser.

  3. #3
    Membre habitué
    Homme Profil pro
    sans
    Inscrit en
    mai 2007
    Messages
    470
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : sans

    Informations forums :
    Inscription : mai 2007
    Messages : 470
    Points : 192
    Points
    192
    Par défaut
    Bonjour Fab_de_chez_Perform,

    Merci pour votre intervention.
    s'il s'agit d'un tableau structuré, cela devrait se faire sans reparamétrer quoi que ce soit, si je ne dis pas de bêtises
    Il s'agit bien d'un tableau au sens Excel mais force est de constater que que ça ne fonctionne pas.

    Sinon, ce que je ferais, c'est de virer la mise en forme conditionnelle complète pendant l'exécution de la macro puis la réinitialiser.
    Je ne peux malheureusement pas car j'ai créé ces macros pour simplifier la vie de la personne à laquelle ce classeur est destiné.

  4. #4
    Membre actif
    Homme Profil pro
    Formateur bureautique
    Inscrit en
    janvier 2021
    Messages
    143
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Formateur bureautique
    Secteur : Enseignement

    Informations forums :
    Inscription : janvier 2021
    Messages : 143
    Points : 229
    Points
    229
    Par défaut Aide
    Bonjour
    j'ai mieux regardé et effectivement il y a une bizarrerie Excel à ce niveau là. Si je mets une info en dernière ligne la mise en forme condi se reproduit bien seule ; si je me mets en 1e ligne sous les entetes, cela ne se met à jour qu'après avoir validé ma saisie une seconde fois (pourtant la règle reste bonne)

    Bref, j'ai produit un exemple dans le fichier ci joint

    • J'ai paramétré ma mise en forme conditionnelle au préalable
    • J ai créé la macro pour ajouter une ligne
    • Celle ci ajoute la ligne + reprend le format de celle d'en dessous (col J)


    L'utilisateur final n'a plus qu'à appuyer sur un bouton
    Fichiers attachés Fichiers attachés

  5. #5
    Membre habitué
    Homme Profil pro
    sans
    Inscrit en
    mai 2007
    Messages
    470
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : sans

    Informations forums :
    Inscription : mai 2007
    Messages : 470
    Points : 192
    Points
    192
    Par défaut
    C'est parfait.
    Merci beaucoup.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [XL-2013] Mise en forme conditionnelle cellule d'une ligne entière
    Par leloup84 dans le forum Excel
    Réponses: 2
    Dernier message: 24/10/2017, 14h23
  2. [XL-2010] Mise en forme conditionnelle avec formule ET + LIGNE
    Par Philippe Tulliez dans le forum Excel
    Réponses: 4
    Dernier message: 01/10/2015, 16h29
  3. Réponses: 5
    Dernier message: 29/06/2014, 15h27
  4. [XL-2010] Mise en forme conditionnelle sur toute une ligne
    Par Ginette54 dans le forum Excel
    Réponses: 8
    Dernier message: 16/12/2013, 17h39
  5. Réponses: 2
    Dernier message: 16/07/2011, 00h57

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo