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é en VBA


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Analyse système
    Inscrit en
    Décembre 2018
    Messages
    121
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Analyse système
    Secteur : Finance

    Informations forums :
    Inscription : Décembre 2018
    Messages : 121
    Par défaut IF imbriqué en VBA
    Bonjour,

    Ça ne fonctionne pas, il me dit "Next sans For"

    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
    Sub test1()
    Dim relance As Worksheet
    Dim suiv As Worksheet
    Dim codepayeur As String
    Dim sin As String
    Dim montant As Currency
     
    'Affectation variable avec les onglets
     
    Set relance = Sheets("RELANCES CIES CORPOREL")
    Set suiv = Sheets("SUIVTRANS RELANCES BCF MANDAT")
     
    suiv.Activate
     
    Dernligne = suiv.Range("H" & Rows.Count).End(xlUp).Row
    relance.Activate
     
     
    For j = 2 To Dernligne
     
    'sasie donées
        If Cells(j, 5) = "FRA-BCF" Then
            'Si FRA-BCF
            relance.Cells(j, 1) = "RELANCE_BCF GESTION_ FRA-BCF" & "_" & relance.Cells(j, 6).Value & relance.Cells(j, 4).Value & "/" & relance.Cells(j, 5).Value & ""
        If Cells(j, 5) = "MANDAT RELANCE CIE" Then
            'Si autre que FRA-BCF
            relance.Cells(j, 1) = "RELANCE MANDAT" & "_" & relance.Cells(j, 3).Value & "_" & relance.Cells(j, 5).Value & relance.Cells(j, 6).Value & "_" & relance.Cells(j, 5).Value & "_" & " Bodily claim " & relance.Cells(j, 4).Value
            '[Nom compagnie] Bodily(Material) claim [n°sin AZ]/[ref compagnie] pending list Q1 2019 AZ France
        If Cells(j, 5) = "MANDAT AG" Then
        relance.Cells(j, 1) = "AG BCF MANDAT" & "_" & relance.Cells(j, 3).Value & "_" & relance.Cells(j, 5).Value & relance.Cells(j, 6).Value & "_" & relance.Cells(j, 5).Value & "_" & " Bodily claim " & relance.Cells(j, 4).Value
     
        If Cells(j, 5) = "MANDAT RELANCE AG" Then
        relance.Cells(j, 1) = "RELANCE AG BCF MANDAT" & "_" & relance.Cells(j, 3).Value & "_" & relance.Cells(j, 5).Value & relance.Cells(j, 6).Value & "_" & relance.Cells(j, 5).Value & "_" & " Bodily claim " & relance.Cells(j, 4).Value
     
        End If
     
    End Sub

  2. #2
    Expert confirmé

    Homme Profil pro
    Curieux
    Inscrit en
    Juillet 2012
    Messages
    5 169
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Curieux
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2012
    Messages : 5 169
    Billets dans le blog
    5
    Par défaut
    Bonjour,

    effectivement tu n'as pas l'instruction Next de ta boucle For j = ....

    et ensuite ce n'est pas une imbrication de If que tu dois faire, mais une structure If / ElseIf etc...

    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
    For j = 2 To Dernligne
    'sasie donées
        If Cells(j, 5) = "FRA-BCF" Then
            'Si FRA-BCF
            relance.Cells(j, 1) = "RELANCE_BCF GESTION_ FRA-BCF" & "_" & relance.Cells(j, 6).Value & relance.Cells(j, 4).Value & "/" & relance.Cells(j, 5).Value & ""
        ElseIf Cells(j, 5) = "MANDAT RELANCE CIE" Then
            'Si autre que FRA-BCF
            relance.Cells(j, 1) = "RELANCE MANDAT" & "_" & relance.Cells(j, 3).Value & "_" & relance.Cells(j, 5).Value & relance.Cells(j, 6).Value & "_" & relance.Cells(j, 5).Value & "_" & " Bodily claim " & relance.Cells(j, 4).Value
            '[Nom compagnie] Bodily(Material) claim [n°sin AZ]/[ref compagnie] pending list Q1 2019 AZ France
        ElseIf Cells(j, 5) = "MANDAT AG" Then
            relance.Cells(j, 1) = "AG BCF MANDAT" & "_" & relance.Cells(j, 3).Value & "_" & relance.Cells(j, 5).Value & relance.Cells(j, 6).Value & "_" & relance.Cells(j, 5).Value & "_" & " Bodily claim " & relance.Cells(j, 4).Value
        ElseIf Cells(j, 5) = "MANDAT RELANCE AG" Then
            relance.Cells(j, 1) = "RELANCE AG BCF MANDAT" & "_" & relance.Cells(j, 3).Value & "_" & relance.Cells(j, 5).Value & relance.Cells(j, 6).Value & "_" & relance.Cells(j, 5).Value & "_" & " Bodily claim " & relance.Cells(j, 4).Value
        End If
    Next j

  3. #3
    Membre confirmé
    Homme Profil pro
    Analyse système
    Inscrit en
    Décembre 2018
    Messages
    121
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Analyse système
    Secteur : Finance

    Informations forums :
    Inscription : Décembre 2018
    Messages : 121
    Par défaut FORMULE SI
    J'ai besoin de votre aide pour cette formule ca fonctione pas :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =SI(ET(OU(E1="MANDAT AG";E1="MANDAT RELANCE AG";E1="FRA-BCF"));"courrier@bc.asso.fr";"RECHERCHEV(C2;'LISTE CIES'!H3:M97;6;FAUX")

  4. #4
    Expert confirmé
    Homme Profil pro
    Electrotechnicien
    Inscrit en
    Juillet 2016
    Messages
    3 241
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Electrotechnicien

    Informations forums :
    Inscription : Juillet 2016
    Messages : 3 241
    Par défaut
    Bonsoir,

    Il faut enlever les guillemets qui encadrent la fonction RechercheV
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =SI(ET(OU(E1="MANDAT AG";E1="MANDAT RELANCE AG";E1="FRA-BCF"));"courrier@bc.asso.fr";RECHERCHEV(C2;'LISTE CIES'!H3:M97;6;FAUX))
    Cdlt

Discussions similaires

  1. Formule SI imbriquées dans VBA Macro Excel
    Par joelmesrine dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 22/02/2018, 12h19
  2. problème de boucles for next imbriquées en vba
    Par Moa83 dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 10/04/2017, 15h54
  3. [XL-2010] Faire le même resultat qu'une fonction SI imbriqué en vba
    Par Marc31 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 10/10/2014, 17h36
  4. Transcrire une formule imbriquée en VBA
    Par LECAT dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 07/11/2008, 21h24
  5. requetes imbriquées en VBA
    Par moicats dans le forum Access
    Réponses: 7
    Dernier message: 25/09/2006, 15h58

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