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 :

Exécution code VBA sur fichier déja rempli


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre à l'essai
    Femme Profil pro
    Inscrit en
    Juillet 2012
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Juillet 2012
    Messages : 6
    Par défaut Exécution code VBA sur fichier déja rempli
    Bonjour,
    Je viens enfin de finir la réalisation d'un code VBA (chose que je n'avais jamais fait) pour colorier une ligne selon le remplissage d'une cellule.
    Mon code fonctionne, si je rempli les cases maintenant. Mais mon fichier est déjà rempli et la coloration ne s'effectue pas sauf si je retape ce qu'il y a dans la cellule.

    Est-ce mon code qui n'est pas bon ou tout simplement est-ce qu'un code VBA n'est pas applicable sur de l'existant

    Je vous remercie par avance de votre aide

    Voici mon code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    Private Sub Worksheet_Change(ByVal Target As Range)
    Dim lig As Byte, plage As Range
     
    If Intersect(Target, Range("B21:C5000")) Is Nothing Then: Exit Sub
     
    lig = Target.Row
    Set plage = Range(Cells(lig, 1), Cells(lig, 8))
     
    Select Case Target
        Case Is = "D"
            plage.Interior.ColorIndex = 15
        Case Is = "NA"
            plage.Interior.ColorIndex = 16
        Case Is = "C"
            plage.Interior.ColorIndex = 10
        Case Is = "NC"
            plage.Interior.ColorIndex = 3
        Case Is = "AV"
            plage.Interior.ColorIndex = 42
        Case Else
            plage.Interior.ColorIndex = -4142
    End Select
    End Sub

  2. #2
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    13 173
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 13 173
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    C'est tout à fait normal, tu as mis ce code dans la procédure événementielle d'une feuille qui ne s'enclenche que si et seulemnt si l'on fait un changement d'une valeur dans une cellule de cette feuille.
    Il n'y a pas de miracle.
    Je n'ai pas vu avec quelle version tu travaillais mais tu sais que tu peux avoir le même résultat avec mise en forme immédiate et ce même si les données sont déjà encodées avec la mise en forme conditionnelle.
    Philippe Tulliez
    Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau)
    Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter
    Mes tutoriels : Utilisation de l'assistant « Insertion de fonction », Les filtres avancés ou élaborés dans Excel
    Mon dernier billet : Utilisation de la fonction Dir en VBA pour vérifier l'existence d'un fichier

  3. #3
    Membre à l'essai
    Femme Profil pro
    Inscrit en
    Juillet 2012
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Juillet 2012
    Messages : 6
    Par défaut
    Merci Corona pour ta réponse.
    Je travail avec Excel 2007 (je me suis rendu compte après avoir posté que j'avais oublié de le mettre, j'ai fait un edit mais ca n'a pas l'air d'avoir fonctionné)
    Par contre où dois-je mettre mon code ou que dois-je modifier pour que cela fonctionne stp ?

  4. #4
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    13 173
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 13 173
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    Si tu es en version 2007, pas besoin de VBA pour cela tu appliques la mise en forme conditionnelle (la version 2003 étant limitée à 3 conditions).
    Onglet [Accueil], groupe Style, clic sur Mise en forme conditionnelle et tu appliques autant de règles qu'il n'y a de conditions en choisissant Utiliser une formule pour déterminer pour quelles cellules le forma sera appliqué
    Philippe Tulliez
    Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau)
    Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter
    Mes tutoriels : Utilisation de l'assistant « Insertion de fonction », Les filtres avancés ou élaborés dans Excel
    Mon dernier billet : Utilisation de la fonction Dir en VBA pour vérifier l'existence d'un fichier

  5. #5
    Membre à l'essai
    Femme Profil pro
    Inscrit en
    Juillet 2012
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Juillet 2012
    Messages : 6
    Par défaut
    En fait j'utilisais de la mise en forme conditionnelle avant.
    Sauf que c'est un fichier pro qui me sert de base pour alimenter des fichiers clients et dès que je fait un copier/coller sur le fichier de mes clients ca rajoute une nouvelle fois des mises en forme conditionnelle sur le fichier du client juste pour la ligne que j'ai copié.
    Je voulais donc insérer ce code sur les fichiers de mes clients une seule fois et comme ca je ne suis plus embêter pour mes copier/coller.

  6. #6
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    13 173
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 13 173
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    Le Copier/Collage Spécial Valeur ne convient pas pour cas là ?
    Philippe Tulliez
    Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau)
    Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter
    Mes tutoriels : Utilisation de l'assistant « Insertion de fonction », Les filtres avancés ou élaborés dans Excel
    Mon dernier billet : Utilisation de la fonction Dir en VBA pour vérifier l'existence d'un fichier

Discussions similaires

  1. Pbm d'execution de code VBA sur fichier mde
    Par Aegnor dans le forum VBA Access
    Réponses: 5
    Dernier message: 30/07/2012, 15h54
  2. [Toutes versions] exécuter code VBA dans page HTML
    Par Antho87 dans le forum Macros et VBA Excel
    Réponses: 0
    Dernier message: 20/08/2009, 19h26
  3. [WD-2003] Recherche code vba destruction fichier
    Par vieuxmonsieur dans le forum VBA Word
    Réponses: 15
    Dernier message: 05/06/2009, 09h46
  4. Test de code VBA sur différentes versions d'Excel
    Par Fala fala dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 03/01/2008, 11h33
  5. Comment faire Copier/Coller par code VBA sur INTERNET...
    Par GESCOM2000 dans le forum Access
    Réponses: 5
    Dernier message: 02/01/2006, 13h19

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