VBA automatiser

emma93

XLDnaute Nouveau
Problème résolu :)
 
Dernière édition:

pierrejean

XLDnaute Barbatruc
Re : VBA automatiser

Bonjour emma93

Vois si tu peux t'inspirer de ceci

VB:
Sub test()
i = 31
travaux = Array("Coupes", "Brushings", "Coloration", "etc1", "etc2")
For n = LBound(travaux) To UBound(travaux)
x = InputBox("Combien de " & travaux(n))
If x <> 0 Then
Range("A" & i) = travaux(n)
Range("B" & i) = x
i = i + 1
End If
Next n
End Sub
 

emma93

XLDnaute Nouveau
Re : VBA automatiser

Bonjour pierre jean, JNP

Désolée pour le doublon... je ne savais pas s'il était nécessaire de reposter un message ou non...

peirre jean, je ne comprends pas les codes que vous employez, je suis débutante en VBA. Est-il possible d'écrire la même chose avec des codes plus simple (do while, if etc...) je n'ai appris que ceci lors de ma formation.
 

emma93

XLDnaute Nouveau
Re : VBA automatiser

Sub fiche()
Dim i As Single
Dim x As Single
Dim brushings As Single
Dim colorations As Single
Dim coupes As Single

brushings = InputBox("Entrez la quantité achetée :", "brush")
colorations = InputBox("Entrez la quantité achetée :", "colo")
coupes = InputBox("Entrez la quantité achetée :", "coupes")

i = 3

x = "brushings" Or "colorations" Or "coupes"

If x <> 0 Then

Worksheets("Feuil1").Cells(i, 1).Value = x

i = i + 1

End If

End Sub



J'ai essayé ceci mais cela ne fonctionne pas.
 

JNP

XLDnaute Barbatruc
Re : VBA automatiser

Re :),
peirre jean, je ne comprends pas les codes que vous employez, je suis débutante en VBA. Est-il possible d'écrire la même chose avec des codes plus simple (do while, if etc...) je n'ai appris que ceci lors de ma formation.
Oui, mais cela va être très long, très compliqué, et antiproductif :rolleyes:...
Le forum est le lieu pour complèter ta formation et apprendre d'autre méthodes ;)...
Je me suis permis (je sais que Pierre-Jean ne m'en voudra pas :)) de commenter son code pour t'expliquer ce qu'il te propose. En t'expliquant ligne par ligne, tu comprendras mieux et tu pourras, comme tu le souhaitait, ne pas copier bêtement des lignes mais les comprendre :p...
VB:
Sub test()
i = 31
' Initialise I à la première valeur
travaux = Array("Coupes", "Brushings", "Coloration", "etc1", "etc2")
' travaux est une variable tableau chargé par un tableau (Array)
'comprenant toutes tes possibilités séparées par des virgules
For n = LBound(travaux) To UBound(travaux)
' Pour n valant l'indice le plus bas du tableau au plus haut indice du tableau
X = InputBox("Combien de " & travaux(n))
' x est égal à la boîte d'entrée comprenant le tableau à l'indice n
' soit "Coupes", puis "Brushings", etc.
If X <> 0 Then
' Si X est différent de 0
Range("A" & i) = travaux(n)
' En A, ligne i le type de travaux
Range("B" & i) = X
' En B, ligne i la quantité
i = i + 1
' et on passe à la ligne suivante
End If
' Fin du test
Next n
' Valeur suivante du tableau
End Sub
Bon courage :cool:
 

emma93

XLDnaute Nouveau
Re : VBA automatiser

Merci beaucoup je comprends mieux :)
Une dernière question : Comment fait-on pour que le tableau s'arrête à i = 41, c'est à dire pour qu'il y ait au maximum 10 services affichés
J'ai essayé d'intégrer un Do while i<=41, mais cela n'a pas fonctionné...
 

Discussions similaires

Statistiques des forums

Discussions
312 493
Messages
2 088 949
Membres
103 989
dernier inscrit
jralonso