Boucle DO WHILE
Résolu/Fermé
laura54960
Messages postés
17
Date d'inscription
mardi 9 octobre 2012
Statut
Membre
Dernière intervention
10 février 2015
-
24 janv. 2014 à 11:18
Polux31 Messages postés 6917 Date d'inscription mardi 25 septembre 2007 Statut Membre Dernière intervention 1 novembre 2016 - 27 janv. 2014 à 12:56
Polux31 Messages postés 6917 Date d'inscription mardi 25 septembre 2007 Statut Membre Dernière intervention 1 novembre 2016 - 27 janv. 2014 à 12:56
3 réponses
Polux31
Messages postés
6917
Date d'inscription
mardi 25 septembre 2007
Statut
Membre
Dernière intervention
1 novembre 2016
1 204
24 janv. 2014 à 11:46
24 janv. 2014 à 11:46
Bonjour,
Voilà pour la recherche et la récupération des infos :
Il faut faire une autre procédure pour le reste du devis (MontantHT, MontantTTC etc ...)
;0)
Voilà pour la recherche et la récupération des infos :
Sub RechercheClient() Dim codeclient As String Dim dLig As Long Dim wsDevis As Worksheet Dim wsClt As Worksheet Dim i As Long 'On instancie les objets Worksheet Set wsDevis = ThisWorkbook.Worksheets("Devis") Set wsClt = ThisWorkbook.Worksheets("Clients") 'Recherche de la dernière ligne "Clients" dLig = wsClt.Range("A" & Rows.Count).End(xlUp).Row 'Saisie du code client par l'utilisateur codeclient = InputBox("Veuillez saisir le code client : ", "SAISIE", 0) 'Boucle sur le num client For i = 1 To dLig 'Si la ligne client est trouvée, on copie les données et on sort de la procédure If UCase(codeclient) = UCase(wsClt.Cells(i, 1).Value) Then wsDevis.Cells(7, 2).Value = wsClt.Cells(i, 2).Value wsDevis.Cells(8, 2).Value = wsClt.Cells(i, 3).Value wsDevis.Cells(8, 5).Value = wsClt.Cells(i, 4).Value wsDevis.Cells(9, 2).Value = wsClt.Cells(i, 5).Value wsDevis.Cells(9, 5).Value = wsClt.Cells(i, 6).Value wsDevis.Cells(10, 2).Value = wsClt.Cells(i, 7).Value wsDevis.Cells(10, 5).Value = wsClt.Cells(i, 8).Value Exit Sub End If Next i 'libération des objets et de la mémoire Set wsDevis = Nothing Set wsClt = Nothing End Sub
Il faut faire une autre procédure pour le reste du devis (MontantHT, MontantTTC etc ...)
;0)
laura54960
Messages postés
17
Date d'inscription
mardi 9 octobre 2012
Statut
Membre
Dernière intervention
10 février 2015
24 janv. 2014 à 11:34
24 janv. 2014 à 11:34
Bonjour,
Merci de votre réponse.
En revanche, la commande do while se termine par le LOOP dans ce cas ci.
Merci de votre réponse.
En revanche, la commande do while se termine par le LOOP dans ce cas ci.
hkaab
Messages postés
6
Date d'inscription
mardi 23 février 2010
Statut
Membre
Dernière intervention
24 janvier 2014
24 janv. 2014 à 11:31
24 janv. 2014 à 11:31
Bonjour ;
je crois que la commande Do While manque de fin de boucle le "END DO" a savouir votre logique programme.
bonne Chance.
je crois que la commande Do While manque de fin de boucle le "END DO" a savouir votre logique programme.
bonne Chance.
26 janv. 2014 à 16:08
Merci beaucoup pour cette réponse. Cela fonctionne, toutes mes données se retrouvent au bon endroit. En revanche, j'ai un message d'erreur qui apparaît : code 1004, erreur définie par l'objet ou l'application. Et du coup, la suite de mon programme ne s'execute pas. Une idée ?
Merci d'avance
26 janv. 2014 à 16:33
L'erreur est détectée sur quelle ligne du code ?
Peux-tu poster tout ton code ? Ou alors déposer le fichier en enlevant les données confidentielles et en les remplaçant par des données bidons sur cjoint.com et en postant ensuite le lien ici. Merci
26 janv. 2014 à 17:22
Sub DEVIS()
Dim codeclient As String
Dim modepaiement As String
Dim txremise As Single
Dim montantHT As Single
Dim montantTTC As Single
Dim transport As Single
Dim total As Single
Dim i As Long
codeclient = InputBox("Veuillez saisir le code client : ", "SAISIE", "")
Worksheets("Devis").Cells(7, 5).Value = codeclient
modepaiement = InputBox("Indiquez le mode de paiement : ", "SAISIE", "CB")
Worksheets("Devis").Cells(12, 2).Value = modepaiement
i = 4
Do While codeclient <> Worksheets("Clients").Cells(4, 1).Value
i = i + 1
If codeclient = Worksheets("Clients").Cells(i, 1).Value Then
Worksheets("Devis").Cells(7, 2).Value = Worksheets("Clients").Cells(i, 2).Value
Worksheets("Devis").Cells(8, 2).Value = Worksheets("Clients").Cells(i, 3).Value
Worksheets("Devis").Cells(8, 5).Value = Worksheets("Clients").Cells(i, 4).Value
Worksheets("Devis").Cells(9, 2).Value = Worksheets("Clients").Cells(i, 5).Value
Worksheets("Devis").Cells(9, 5).Value = Worksheets("Clients").Cells(i, 6).Value
Worksheets("Devis").Cells(10, 2).Value = Worksheets("Clients").Cells(i, 7).Value
Worksheets("Devis").Cells(10, 5).Value = Worksheets("Clients").Cells(i, 8).Value
End If
Loop
End Sub
L'erreur est en gras. J'ai également remarqué que le premier code client ne fonctionne pas, c'est à dire que ses coordonnées ne s'affichent pas. Je n'arrive pas à trouver d'où vient l'erreur. =/
Merci de vos réponses
26 janv. 2014 à 17:40
26 janv. 2014 à 17:54