Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Boucle do while avec for to

  • Initiateur de la discussion Initiateur de la discussion Benjo
  • 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 !

B

Benjo

Guest
salut à tous,

encore une fois, un souci avec ma macro me pousse à vous demander de l'aide.

Je vous explique :

j'ai une feuille avec sur une colonne, les codes fournisseurs, sur une autre colonne les noms des articles et sur une autre les prix.

Je voudrais avoir une inputbox qui me dise "Quel est le prix de l'article X ayant comme comme Y"
On rentre le prix, et ca l'inscrit direct dans la colonne prix.

SOUCIS : je voudrais que lorsque la cellule "nom" est vide, la boucle s'arrete.

Quelques details :

Les codes sont sur la colonne 2, les noms sont sur la colonne 3, et les prix sont sur la colonne 16.

J'ai donc fait ca :

Code:
Sub del()

Do

For i = 8 To 157


sheets("article et stock").Activate

Cells(i, 16).Value = _
InputBox("Entrez le prix prix de l'article : " & _
Cells(i, 3).Value & vbCrLf & " et de code fournisseur :" & _
vbCrLf & Cells(i, 2).Value & vbCrlf )


Loop While Cells(i, 3) <> ""

Next i

Else
End If
End Sub

Probleme: meme si la cellule i,3 est vide, j'ai toujours l'inputbox...

Pensez vous que ce soit possible ? 😀

@++
 
Re : Boucle do while avec for to

Bonjour,

La ligne Loop.... est mal placé.
Une boucle suffit d'ailleurs.
Au fait, Else End If sont en trop à la fin non?:

Code:
Sub del()

  For i = 8 To 157
    Sheets("article et stock").Activate

    Cells(i, 16).Value = _
    InputBox("Entrez le prix prix de l'article : " & _
             Cells(i, 3).Value & vbCrLf & " et de code fournisseur :" & _
             vbCrLf & Cells(i, 2).Value & vbCrLf)

    If Cells(i, 3) = "" Then Exit For

  Next i

End Sub
 
Re : Boucle do while avec for to

Ca semble fonctionner. Merci l'ami

Effectivement, yavait un end if en trop, mais c'est parce que je n'ai pas mis la totalité du code.

Cependant, j'ai souci avec ton idée :
quand on arrive à la fin de la colonne (donc quand on a cells(i,3)="" ), j'ai quand meme une dernière inputbox avec rien pour le nom et le code fournisseur.

C'est possible d'éviter cette dernière inputbox ? J'ai peur que ca induise en erreur l'utilisateur ...

😀

@++
 
Re : Boucle do while avec for to

Je me repond seul :
J'ai ce que je veux avec ca :

Code:
  For i = 8 To 157
    sheets("article et stock").Activate

If Cells(i, 3) <> "" Then
    Cells(i, 16).Value = _
    InputBox("Entrez le prix prix de l'article : " & _
Cells(i, 3).Value & vbCrLf & " et de code fournisseur :" & _
vbCrLf & Cells(i, 2).Value & vbcflf )

   Else: Exit For
   
End If
  Next i

  

End Sub
 
Re : Boucle do while avec for to

Re,

arff, tu as juste à déplacer la condition en début de boucle:

Code:
Sub del()

  For i = 8 To 157
    If Cells(i, 3) = "" Then Exit For

    Sheets("article et stock").Activate

    Cells(i, 16).Value = _
    InputBox("Entrez le prix prix de l'article : " & _
             Cells(i, 3).Value & vbCrLf & " et de code fournisseur :" & _
             vbCrLf & Cells(i, 2).Value & vbCrLf)



  Next i

End Sub
 
- 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
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
8
Affichages
782
Réponses
5
Affichages
913
Réponses
15
Affichages
788
Réponses
7
Affichages
483
  • Question Question
Microsoft 365 worksheet_change
Réponses
29
Affichages
1 K
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…