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 :

Probleme de macro "else..if "


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre du Club
    Homme Profil pro
    Ingénieur qualité méthodes
    Inscrit en
    Février 2014
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur qualité méthodes
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2014
    Messages : 6
    Par défaut Probleme de macro "else..if "
    Bonjour,

    Je suis en plein apprentissage de VBA ( et d'excel aussi) et j'avoue avoir quelques soucis avec l'une de mes macros, je vous explique: je doit manipuler un tableau, et suivant le contenu d'une cellule (la N3 pour ne pas la nommer) j'aimerais bien colorier l'ensemble de la ligne du tableau : en vert si la cellule ne contient rien et en orange si elle contient quelque chose (du texte ndlr)... donc j'ai commencé à faire une petite macro mais lorsque je l'execute ça me marque " erreur else sans if", j'ai beau avoir cherché d’où provenait cette erreur mais je ne trouve pas..O_o'
    donc voila, les questions que je me poses sont donc : -est-ce que la macro vous semble correcte pour ce que j'ai envie de faire? (or not to be)
    - et pourquoi cette @'#*?! de boite de dialogue me dit qu'il ya un problème avec else et if ?

    Merci d'avance pour vos reponses
    je vous joint ma macro...

    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
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    Sub macro_test()
     
    Dim i As Integer
    i = ActiveSheet.UsedRange.Rows.Count   'calcul  ligne du tableau
     
    For i = 3 To i 'boucle se repete a chaque ligne du fichier
     
        If Cells("i,14") = "" Then
        Rows("i").Select
     
        With Selection.Interior
            .Pattern = xlSolid
            .PatternThemeColor = xlThemeColorAccent1
            .Color = 5296274
            .TintAndShade = 0
            .PatternTintAndShade = 0.799981688894314
     
     
       Else
        Rows("i").Select
     
        With Selection.Interior
            .Pattern = xlSolid
            .PatternThemeColor = xlThemeColorAccent1
            .Color = 49407
            .TintAndShade = 0
            .PatternTintAndShade = 0.799981688894314
            End If
     
        Next
     
     
    End Sub

  2. #2
    Membre Expert
    Homme Profil pro
    Retraité
    Inscrit en
    Juillet 2009
    Messages
    1 794
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 86
    Localisation : Belgique

    Informations professionnelles :
    Activité : Retraité
    Secteur : Enseignement

    Informations forums :
    Inscription : Juillet 2009
    Messages : 1 794
    Par défaut
    Bonjour,
    Quand vous utilisez il faut un END WITH à la finc des instructions
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    With .......
               Instructions
               Instructions
    END With

  3. #3
    Membre du Club
    Homme Profil pro
    Ingénieur qualité méthodes
    Inscrit en
    Février 2014
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur qualité méthodes
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2014
    Messages : 6
    Par défaut
    Bonjour,

    Ok merci pour vos éléments de réponse. Donc pour finir , la macro fonctionne enfin (j'ai ajouté 2-3 truc)

    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
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
     
    Sub macro_test()
     
     
    NBl = 2 + Range(Cells(3, 1), Cells(3, 1).End(xlDown)).Rows.Count   'calcul  ligne du tableau a partir de la ligne 2
     
     For i = 3 To NBl 'boucle se repete a chaque ligne du fichier
     
        Range(Cells(i, 1), Cells(i, 14)).Select   ' selection de la ligne
     
        If Cells(i, 14) = "" Then
     
                With Selection.Interior
            .Pattern = xlSolid
            .PatternThemeColor = xlThemeColorAccent1
            .Color = 5296274
            .TintAndShade = 0
            .PatternTintAndShade = 0.799981688894314
            End With
     
        Else
     
            With Selection.Interior
            .Pattern = xlSolid
            .PatternThemeColor = xlThemeColorAccent1
            .Color = 49407
            .TintAndShade = 0
            .PatternTintAndShade = 0.799981688894314
     
             End With
        End If
     
     Next i
     
    Exit Sub    ' quitte la procédure
    End Sub

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

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