Problème avec une boucle If-Then

  • Initiateur de la discussion Initiateur de la discussion Chasse
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Chasse

XLDnaute Occasionnel
Bonjour le Forum


j'ai vraiment besoin de votre aide.

je n'arrive pas a faire fonctionner mon code


Le 1er et la dernier boucle il n’ y a pas de problème

Les 2 du milieu ne fonctionnent pas

Si ça c’est bon
Code:
If ws1.Range("B" & c.Row) = "719121" Then

Set rg3 = WsPl.Range("A1").End(xlDown).Offset(1, 0)
WsPl.Range("I11") = sDate
    rg3 = c.Offset(0, -12) 'N° ordre TMS
    rg3.Offset(0, 1) = c.Offset(0, -9) 'Expéditeur
    rg3.Offset(0, 2) = c.Offset(0, -8)  'CP
    rg3.Offset(0, 3) = c.Offset(0, -7)  'Localité
    rg3.Offset(0, 4) = c.Offset(0, -6) 'Destinataire
    rg3.Offset(0, 5) = c.Offset(0, -5)  'CP
    rg3.Offset(0, 6) = c.Offset(0, -4)  'Localité
    rg3.Offset(0, 7) = c.Offset(0, -3)  'n° envoie
    rg3.Offset(0, 9) = c.Offset(0, -2)  'n
    rg3.Offset(0, 10) = c.Offset(0, -1)
Si ça c’est pas bon
Code:
ElseIf ws1.Range("B" & c.Row) = "719126" Then
 
Set rg4 = WsPl.Range("A1").End(xlDown).End(xlDown).Offset(1, 0)
    WsPl.Range("I11") = sDate
    rg4 = c.Offset(0, -12) 'N° ordre TMS
    rg4.Offset(0, 1) = c.Offset(0, -9) 'Expéditeur
    rg4.Offset(0, 2) = c.Offset(0, -8)  'CP
    rg4.Offset(0, 3) = c.Offset(0, -7)  'Localité
    rg4.Offset(0, 4) = c.Offset(0, -6) 'Destinataire
    rg4.Offset(0, 5) = c.Offset(0, -5)  'CP
    rg4.Offset(0, 6) = c.Offset(0, -4)  'Localité
    rg4.Offset(0, 7) = c.Offset(0, -3)  'n° envoie
    rg4.Offset(0, 9) = c.Offset(0, -2)  'n
    rg4.Offset(0, 10) = c.Offset(0, -1)

ElseIf ws1.Range("B" & c.Row) = "719119" Then
 
    WsPl.Range("I31") = sDate
    rg5 = c.Offset(0, -12) 'N° ordre TMS
    rg5.Offset(0, 1) = c.Offset(0, -9) 'Expéditeur
    rg5.Offset(0, 2) = c.Offset(0, -8)  'CP
    rg5.Offset(0, 3) = c.Offset(0, -7)  'Localité
    rg5.Offset(0, 4) = c.Offset(0, -6) 'Destinataire
    rg5.Offset(0, 5) = c.Offset(0, -5)  'CP
    rg5.Offset(0, 6) = c.Offset(0, -4)  'Localité
    rg5.Offset(0, 7) = c.Offset(0, -3)  'n° envoie
    rg5.Offset(0, 9) = c.Offset(0, -2)  'n
    rg5.Offset(0, 10) = c.Offset(0, -1)
ça c'est bon
Code:
Else
  
    WsCTL.Range("K1") = sDate
    
    rg6 = c.Offset(0, -12) 'N° ordre TMS
    rg6.Offset(0, 1) = c.Offset(0, -9) 'Expéditeur
    rg6.Offset(0, 2) = c.Offset(0, -8)  'CP
    rg6.Offset(0, 3) = c.Offset(0, -7)  'Localité
    rg6.Offset(0, 4) = c.Offset(0, -6) 'Destinataire
    rg6.Offset(0, 5) = c.Offset(0, -5)  'CP
    rg6.Offset(0, 6) = c.Offset(0, -4)  'Localité
    rg6.Offset(0, 7) = c.Offset(0, -3)  'n° envoie
    rg6.Offset(0, 9) = c.Offset(0, -2)  'n
    rg6.Offset(0, 10) = c.Offset(0, -1)
    End If

pour plus de clarté je vous joint un fichier

D'avance merci infiniment
 

Pièces jointes

Re : Problème avec une boucle If-Then

Bonjour Chasse

Regardes si cela te convient ?

Tu as une erreur ici !
Set rg5 = WsPl.Range("A1").End(xlDown).End(xlDown).End(xlDown).Offset(1, 0)
peut etre
Set rg5 = WsPl.Range("A1").End(xlDown).End(xlDown).Offset(1, 0)


A+
 
Dernière édition:
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
10
Affichages
645
Réponses
6
Affichages
342
Réponses
2
Affichages
719
Retour