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 :

problème avec if et end if [XL-2003]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre très actif
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    169
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2009
    Messages : 169
    Par défaut problème avec if et end if
    bonjour,

    j'ai du mal avec le end if d'un bloc . Voici le code que j'ai ecrit:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Sheets("Feuil3").Select
    For i = 2 To 40
     If Month(CDate(Cells(i, 2).Value)) = 1 Then Cells(i, 1) = "janvier"
     Else: If Month(CDate(Cells(i, 2).Value)) = 2 Then Cells(i, 1) = "février"
     Else: If Month(CDate(Cells(i, 2).Value)) = 3 Then Cells(i, 1) = "Mars"
     end if
     Next i
     
    End Sub
    mais j'obtient un message d'erreur "erreur de compilation , else sans if "
    J'ai souvent ce genre de message dès que j'utilise des instructions avec "if,else,end if".
    Quelqu'un pourrait il m'expliquer.

    Merci d'avance

  2. #2
    Membre confirmé
    Inscrit en
    Mars 2005
    Messages
    138
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 138
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Sheets("Feuil3").Select
    For i = 2 To 40
    If Month(CDate(Cells(i, 2).Value)) = 1 Then
       Cells(i, 1) = "janvier"
    ElseIf Month(CDate(Cells(i, 2).Value)) = 2 Then
       Cells(i, 1) = "février"
    ElseIf Month(CDate(Cells(i, 2).Value)) = 3 Then
    Cells(i, 1) = "Mars"
    end if
    Next i

  3. #3
    Membre Expert Avatar de aalex_38
    Inscrit en
    Septembre 2007
    Messages
    1 631
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 1 631
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Cells(i, 1) = Format(Month(Cells(i, 2), "mmmm")

  4. #4
    Membre très actif
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    169
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2009
    Messages : 169
    Par défaut le problème persiste
    bonjour,
    les solutions proposées ne fonctionnent pas .

    merci

  5. #5
    Membre chevronné
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    317
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 317
    Par défaut
    Bonjour,

    sans boucle if.. End If :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Sub mois()
    Dim I As Byte
    With Sheets("Feuil3")
        For I = 2 To 40
            .Cells(I, 1).Value = Format(.Cells(I, 2).Value, "mmmm")
        Next I
    End With
    End Sub

  6. #6
    Membre Expert Avatar de laetitia
    Profil pro
    Inscrit en
    Décembre 2002
    Messages
    1 281
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France

    Informations forums :
    Inscription : Décembre 2002
    Messages : 1 281
    Par défaut
    bonjour le fil le forum un autre methode

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    For i = 2 To 40
    If Month(CDate(Cells(i, 2).Value)) = 1 Then Cells(i, 1) = "janvier"
    If Month(CDate(Cells(i, 2).Value)) = 2 Then Cells(i, 1) = "février"
    If Month(CDate(Cells(i, 2).Value)) = 3 Then Cells(i, 1) = "Mars"
    If Month(CDate(Cells(i, 2).Value)) = 4 Then Cells(i, 1) = "avril"
    'ect...
    Next i

  7. #7
    Membre chevronné
    Inscrit en
    Janvier 2008
    Messages
    483
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 483
    Par défaut
    Bonjour
    si tu veux seulement afficher le mois en texte je te propose cette formule.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =TEXTE("1/"&MOIS(B2);"mmmm")
    Bonne journée

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

Discussions similaires

  1. Un problème avec Do/Loop et If/else/end If
    Par blaiso dans le forum Général VBA
    Réponses: 3
    Dernier message: 26/09/2011, 09h02
  2. [XL-2003] VBA problème avec la une boucle for range.end(xlup).row après suppression de lignes
    Par JohnNC115 dans le forum Macros et VBA Excel
    Réponses: 21
    Dernier message: 25/01/2011, 10h21
  3. Problème avec Selection.End
    Par Papapetch dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 03/09/2010, 12h43
  4. Problème avec End
    Par Nicos57 dans le forum C++
    Réponses: 5
    Dernier message: 04/08/2007, 15h35
  5. Réponses: 3
    Dernier message: 24/05/2007, 17h56

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