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

 

Discussion: Macro avec conditions [XL-2013]

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    mai 2018
    Messages
    20
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : mai 2018
    Messages : 20
    Points : 7
    Points
    7

    Par défaut Macro avec conditions

    Bonjour,

    j'aimerais crée une macro qui marcherais avec un bouton qui dit en gros :

    SI J5="Lol" alors B17 = Range("B17").Value = Int(3 * Rnd + 1) mais SI B16="Non" alors B17 = Range("B10").Value = Int(3 * Rnd + 1)


    Je voudrais aussi savoir si c'est possible sur une macro de rajouter une sorte de menu déroulante avec choix :

    Par exemple si je clique sur bouton1 alors cela m'affiche fenêtre avec Oui ou Non si je prend Oui cela fait quelque chose, si je prend non cela fait autre chose.


    Dans l'attente de vos réponses.

    Cordialement

  2. #2
    Membre chevronné
    Avatar de Igloobel
    Homme Profil pro
    Développeur ERP - VBA
    Inscrit en
    septembre 2005
    Messages
    1 227
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Développeur ERP - VBA
    Secteur : Industrie

    Informations forums :
    Inscription : septembre 2005
    Messages : 1 227
    Points : 2 117
    Points
    2 117
    Billets dans le blog
    1

    Par défaut

    Citation Envoyé par SirFurtif Voir le message
    ... Je voudrais aussi savoir si c'est possible sur une macro de rajouter une sorte de menu déroulante avec choix :

    Par exemple si je clique sur bouton1 alors cela m'affiche fenêtre avec Oui ou Non si je prend Oui cela fait quelque chose, si je prend non cela fait autre chose.
    Oui c'est possible grace au MSGBOX de type VBouinon

    regarde dans l'aide par F1 tout est expliqué
    Ils ne savaient pas que c'était impossible ... du coup ils l'ont fait (Mark Twain)

    n'oubliez pas de si les messages vous aide ou sont pertinents et de mettre quand cela est !

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    mai 2018
    Messages
    20
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : mai 2018
    Messages : 20
    Points : 7
    Points
    7

    Par défaut

    J'ai résolu cette partie merci

    me reste la première partie :


    Citation Envoyé par SirFurtif Voir le message
    Bonjour,

    j'aimerais crée une macro qui marcherais avec un bouton qui dit en gros :

    SI J5="Lol" alors B17 = Range("B17").Value = Int(3 * Rnd + 1) mais SI B16="Non" alors B17 = Range("B10").Value = Int(3 * Rnd + 1)

  4. #4
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    mai 2018
    Messages
    20
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : mai 2018
    Messages : 20
    Points : 7
    Points
    7

    Par défaut

    Quelqu'un aurait une solution a ce problème s'il vous plait ?

  5. #5
    Membre chevronné
    Avatar de Igloobel
    Homme Profil pro
    Développeur ERP - VBA
    Inscrit en
    septembre 2005
    Messages
    1 227
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Développeur ERP - VBA
    Secteur : Industrie

    Informations forums :
    Inscription : septembre 2005
    Messages : 1 227
    Points : 2 117
    Points
    2 117
    Billets dans le blog
    1

    Par défaut

    tes Si sont des if en VBA

    exemple :

    si J5="lol" alors ....

    devient

    if range("J5").value = "lol" then
    ....
    end if

    essai de la faire

    et on te corrigera après

    A+
    Ils ne savaient pas que c'était impossible ... du coup ils l'ont fait (Mark Twain)

    n'oubliez pas de si les messages vous aide ou sont pertinents et de mettre quand cela est !

  6. #6
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    mai 2018
    Messages
    20
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : mai 2018
    Messages : 20
    Points : 7
    Points
    7

    Par défaut

    Merci c'est exactement le genre de réponse que je voulais.

    Je vous tiens au courant.

  7. #7
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    mai 2018
    Messages
    20
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : mai 2018
    Messages : 20
    Points : 7
    Points
    7

    Par défaut

    Pour le moment j'y arrive sauf a mettre une condition mais

    Car actuellement il fait les conditions IF, ce que j'aimerais faire c'est plus SI D10=non tu fait X mais si J5 = mouahh alors tu fait autre chose.

    J'ai pensé utiliser ELSE mais il me met des erreurs (je cherche encore)

    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
    Sub Identification()
    Select Case MsgBox("Identification reussi?", vbYesNo, "Identification de plante")
    Case vbYes
    Dim R As Worksheet 'déclare la variable R (onglet Recherche)
    Dim W As Worksheet 'déclare la variable W (onglet Wythrin)
    Dim DEST As Range 'déclare la variable DEST (cellule de DESTination)
     
    Set Ch = Worksheets("Wythrin").Range("A1:A1000").Find(Worksheets("Recherche").Range("C14").Value)
    Set R = Sheets("Recherche") 'définit l'onglet R
    Set W = Sheets("Wythrin") 'définit l'onglet W
    Set DEST = W.Cells(Application.Rows.Count, 1).End(xlUp).Offset(1, 0)
    If Ch Is Nothing Then R.Range("C14").Copy
    If Ch Is Nothing Then DEST.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
    :=False, Transpose:=True
     
    Case vbNo
    Range("D10").Value = "non"
    If Range("J5").Value = "Mouahhhhhhhh" Then Range("E11").Value = Int(3 * Rnd + 1)
    If Range("D10").Value = "non" Then Range("E10").Value = Int(3 * Rnd + 1)
     
    End Select
    End Sub

  8. #8
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    mai 2018
    Messages
    20
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : mai 2018
    Messages : 20
    Points : 7
    Points
    7

    Par défaut

    Merci de votre aide j'ai trouvé.

    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
    Sub Identification()
    Select Case MsgBox("Identification reussi?", vbYesNo, "Identification de plante")
    Case vbYes
    Dim R As Worksheet 'déclare la variable R (onglet Recherche)
    Dim W As Worksheet 'déclare la variable W (onglet Wythrin)
    Dim DEST As Range 'déclare la variable DEST (cellule de DESTination)
     
    Set Ch = Worksheets("Wythrin").Range("A1:A1000").Find(Worksheets("Recherche").Range("C14").Value)
    Set R = Sheets("Recherche") 'définit l'onglet R
    Set W = Sheets("Wythrin") 'définit l'onglet W
    Set DEST = W.Cells(Application.Rows.Count, 1).End(xlUp).Offset(1, 0)
    If Ch Is Nothing Then R.Range("C14").Copy
    If Ch Is Nothing Then DEST.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
    :=False, Transpose:=True
     
    Case vbNo
    If Range("J5").Value = "Mouahhhhhhhh" Then
        Range("E11").Value = Int(3 * Rnd + 1)
    Else 'Si faux
        Range("D10").Value = "non"
    End If
    If Range("D10").Value = "non" Then Range("E10").Value = Int(3 * Rnd + 1)
     
    End Select
    End Sub

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

Discussions similaires

  1. [XL-2007] Macros avec conditions
    Par GuillaumeBa dans le forum Macros et VBA Excel
    Réponses: 0
    Dernier message: 30/06/2011, 13h21
  2. Macro avec condition
    Par roidurif dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 17/05/2009, 14h22
  3. Macro avec conditions de sorties
    Par vivicente dans le forum VBA Access
    Réponses: 5
    Dernier message: 11/06/2008, 13h39
  4. Macro avec condition
    Par ANTMA dans le forum Macros et VBA Excel
    Réponses: 13
    Dernier message: 07/12/2007, 18h38
  5. exécution d'une macro avec condition
    Par casavba dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 01/08/2007, 14h44

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