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 :

IF imbriqués pour les nuls [XL-2010]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Femme Profil pro
    Inscrit en
    Août 2011
    Messages
    33
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2011
    Messages : 33
    Par défaut IF imbriqués pour les nuls
    Bonjour à tous,

    Ayant un soucis avec ce code, je teste le contenu d'une cellule, j'aimerai dans le cas ou cette cellule contient le contenu recherché, exécute un autre IF, sinon exécute un autre IF.

    Je précise que le contenu de mon code est fait par la génératrice VBA d'excel.

    D'avance, merci.

    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
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    Sub Macro9()
    '
    ' Macro9 Macro
    '
     
    '
     
    If Cells(1, 4).Value = "SPONTANEE" Then
     
     
    If MsgBox("Opération irréversible. Souhaitez-vous continuez ?", vbQuestion + vbYesNo, "QUESTION ...") = vbYes Then
     
        nom = Format(Date, "yyyy-mm-dd") & "   " & Format(Time, "hh-mm") & "   " & " SPONTANEE " & ActiveWorkbook.Name
        ActiveWorkbook.SaveCopyAs ActiveWorkbook.Path & "\" & nom
        rep = MsgBox("Votre commande spontannée est sauvegardée sous le nom :" & vbCrLf & vbCrLf & " " & nom, vbYes + vbInformation, "Copie sauvegarde commande")
     
        ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True, _
        IgnorePrintAreas:=False
        Range("A5:H1000").Select
        Selection.ClearContents
     
        Range("J3").Select
        ActiveCell.FormulaR1C1 = "CLOTUREE"
     
     
     
        Range("A5").Select
     
        ThisWorkbook.Close SaveChanges:=False
    MsgBox (" Commande spontannée sauvegardée. Fermeture d'excel.")
    Application.Quit
     
        Else
     
     
     
    Else
     
     
    If MsgBox("Attention ! Opération irréversible." & vbCrLf & vbCrLf & "Souhaitez-vous clôturer la commande ?", vbQuestion + vbYesNo, "QUESTION ...") = vbYes Then
     
        nom = Format(Date, "yyyy-mm-dd") & "   " & Format(Time, "hh-mm") & "   " & ActiveWorkbook.Name
        ActiveWorkbook.SaveCopyAs ActiveWorkbook.Path & "\" & nom
        rep = MsgBox("Votre commande est sauvegardée sous le nom :" & vbCrLf & vbCrLf & " " & nom, vbYes + vbInformation, "Copie sauvegarde commande")
     
        Cells(1, 6) = Date & " " & Time
     
        ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True, _
            IgnorePrintAreas:=False
     
        Range("D1").Select
        Selection.ClearContents
     
        Range("A5:H1000").Select
        Selection.ClearContents
     
        Range("J4") = Application.UserName
     
        Range("A5").Select
     
        ActiveWorkbook.Save
     
        MsgBox ("Commande cloturée, ouverture d'une commande vierge...")
     
        Range("A5").Select
     
        Else
     
     
     
    End If
     
     
    End Sub

  2. #2
    Membre éprouvé Avatar de LouiMz
    Homme Profil pro
    Inscrit en
    Février 2010
    Messages
    104
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 104
    Par défaut
    Bonjour,

    J'ai juste rajouté les fins de conditions et mis légèrement en forme. Est-ce que cela vous convient?

    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
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    Sub Macro9()
    '
    ' Macro9 Macro
    ' Si la cellule est égale à "SPONTANEE"
    If Cells(1, 4).Value = "SPONTANEE" Then
     
     
        If MsgBox("Opération irréversible. Souhaitez-vous continuez ?", vbQuestion + vbYesNo, "QUESTION ...") = vbYes Then
     
            nom = Format(Date, "yyyy-mm-dd") & "   " & Format(Time, "hh-mm") & "   " & " SPONTANEE " & ActiveWorkbook.Name
            ActiveWorkbook.SaveCopyAs ActiveWorkbook.Path & "\" & nom
            rep = MsgBox("Votre commande spontannée est sauvegardée sous le nom :" & vbCrLf & vbCrLf & " " & nom, vbYes + vbInformation, "Copie sauvegarde commande")
     
            ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True, _
            IgnorePrintAreas:=False
            Range("A5:H1000").Select
            Selection.ClearContents
     
            Range("J3").Select
            ActiveCell.FormulaR1C1 = "CLOTUREE"
     
     
     
            Range("A5").Select
     
            ThisWorkbook.Close SaveChanges:=False
            MsgBox (" Commande spontannée sauvegardée. Fermeture d'excel.")
            Application.Quit
     
        End If
    'Si la cellule est différente de "SPONTANEE"
    Else
     
        If MsgBox("Attention ! Opération irréversible." & vbCrLf & vbCrLf & "Souhaitez-vous clôturer la commande ?", vbQuestion + vbYesNo, "QUESTION ...") = vbYes Then
     
            nom = Format(Date, "yyyy-mm-dd") & "   " & Format(Time, "hh-mm") & "   " & ActiveWorkbook.Name
            ActiveWorkbook.SaveCopyAs ActiveWorkbook.Path & "\" & nom
            rep = MsgBox("Votre commande est sauvegardée sous le nom :" & vbCrLf & vbCrLf & " " & nom, vbYes + vbInformation, "Copie sauvegarde commande")
     
            Cells(1, 6) = Date & " " & Time
     
            ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True, _
                IgnorePrintAreas:=False
     
            Range("D1").Select
            Selection.ClearContents
     
            Range("A5:H1000").Select
            Selection.ClearContents
     
            Range("J4") = Application.UserName
     
            Range("A5").Select
     
            ActiveWorkbook.Save
     
            MsgBox ("Commande cloturée, ouverture d'une commande vierge...")
     
            Range("A5").Select
     
         End If
     
    End If
    Je pense que vous avez confondus les End If avec les Else.

  3. #3
    Membre averti
    Femme Profil pro
    Inscrit en
    Août 2011
    Messages
    33
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2011
    Messages : 33
    Par défaut
    Grand merci, c'est super.

    Malheureusement, mon niveau en VBA est très bas, merci pour le partage de vos compétences.


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

Discussions similaires

  1. Réponses: 2
    Dernier message: 08/02/2007, 13h02
  2. Réponses: 6
    Dernier message: 06/11/2005, 12h10
  3. C++ pour les nuls => Linux => Problème
    Par wizardman dans le forum Linux
    Réponses: 6
    Dernier message: 21/09/2005, 01h53
  4. Apprendre le réseau (pour les nuls)
    Par __fabrice dans le forum Développement
    Réponses: 5
    Dernier message: 08/03/2005, 14h49

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