Amélioration d'un code VBA
Résolu
vieuxray
-
pijaku Messages postés 12263 Date d'inscription Statut Modérateur Dernière intervention -
pijaku Messages postés 12263 Date d'inscription Statut Modérateur Dernière intervention -
Bonjour a toutes et tous, Forum Bonjour
Serait'il possible svp d'optimiser le code ci-dessous afin d'éviter le répètitif
Je vous souhaite une bonne journée
Cordialement Ray
Serait'il possible svp d'optimiser le code ci-dessous afin d'éviter le répètitif
Je vous souhaite une bonne journée
Cordialement Ray
For i = 2012 To 2030
ComboBox1.AddItem i
Next i
ComboBox1.Text = Year(Now)
Dim An As Long, Sp As Long: Sp = 19
An = ComboBox1.Text
For i = 1 To 12
If i = 2 Then Sp = 22
If i = 3 Then Sp = 26
If i = 4 Then Sp = 21
If i = 5 Then Sp = 24
If i = 6 Then Sp = 23
If i = 7 Then Sp = 22
If i = 8 Then Sp = 28
If i = 9 Then Sp = 22
If i = 10 Then Sp = 22
If i = 11 Then Sp = 25
If i = 12 Then Sp = 22
Label483.Caption = Label483.Caption & Space(Sp) & An
Next i
A voir également:
- Amélioration d'un code VBA
- Code ascii - Guide
- Comment déverrouiller un téléphone quand on a oublié le code - Guide
- Code puk bloqué - Guide
- Code activation windows 10 - Guide
- Code blocks - Télécharger - Langages
4 réponses
Bonjour
Dim i as integer
Dim An As integer, Sp As byte
An = ComboBox1
For i =1 to 12
Sp=choose(i,22,26,21 etc)
etc...
mais je n'ai pas compris pourquoi sp=19 dans les déclarations
et pourquoi tu mets l'année (an) en texte
Michel
Dim i as integer
Dim An As integer, Sp As byte
An = ComboBox1
For i =1 to 12
Sp=choose(i,22,26,21 etc)
etc...
mais je n'ai pas compris pourquoi sp=19 dans les déclarations
et pourquoi tu mets l'année (an) en texte
Michel
Bonjour,
Une variante à la proposition de Michel (Salut!), en passant par un Array :
Sp = 19 dans les déclarations doit être du à la première valeur que tu souhaites donner à Sp. Je l'ai donc mis en premier dans l'Array.
Une variante à la proposition de Michel (Salut!), en passant par un Array :
Dim An As Integer, i As Byte, Espaces() Espaces = Array(19, 22, 26, 21, 24, 23, 22, 28, 22, 22, 25, 22) An = Year(Now) For i = 0 To 11 Label1.Caption = Label1.Caption & Space(Espaces(i)) & An Next i
Sp = 19 dans les déclarations doit être du à la première valeur que tu souhaites donner à Sp. Je l'ai donc mis en premier dans l'Array.
Salut Michel et pikaju
Merci pour vos réponses c'est sympa a vous deux
ci-joint le bandeau que je souhaite réaliser
http://www.cjoint.com/?0LkiW6lJFTi
Donc Sp=19 est pour placer Janv pou ne pas qu'il colle au gauche de l'USF
le petit Label rose sera transparent, je l'ai rendu visible pour l'instant
et ci dessous le code qui m'a permis de faire le bandeau
c'est pôurquoi je souhaiterai optimiser tout ça car c'est pas terrible
Merci a vous pour les codes je vais essayer ça dès mon retour RDV toubib
encore merci a plus tard et une bonne journée a vous
Cdlt Raymond
Merci pour vos réponses c'est sympa a vous deux
ci-joint le bandeau que je souhaite réaliser
http://www.cjoint.com/?0LkiW6lJFTi
Donc Sp=19 est pour placer Janv pou ne pas qu'il colle au gauche de l'USF
le petit Label rose sera transparent, je l'ai rendu visible pour l'instant
et ci dessous le code qui m'a permis de faire le bandeau
c'est pôurquoi je souhaiterai optimiser tout ça car c'est pas terrible
Merci a vous pour les codes je vais essayer ça dès mon retour RDV toubib
encore merci a plus tard et une bonne journée a vous
Cdlt Raymond
For i = 2012 To 2030
ComboBox1.AddItem i
Next i
ComboBox1.Text = Year(Now)
Dim An As Long, Sp As Long: Sp = 19
An = ComboBox1.Text
For i = 1 To 12
If i = 2 Then Sp = 22
If i = 3 Then Sp = 26
If i = 4 Then Sp = 21
If i = 5 Then Sp = 24
If i = 6 Then Sp = 23
If i = 7 Then Sp = 22
If i = 8 Then Sp = 28
If i = 9 Then Sp = 22
If i = 10 Then Sp = 22
If i = 11 Then Sp = 25
If i = 12 Then Sp = 22
Label483.Caption = Label483.Caption & Space(Sp) & An
Next i
'*** AFFICHAGE DES N°s ET DES MOIS DE L'ANNEE
Dim Numéro As String, Mois As String
Numéro = " 1" & Space(11) & "2" & Space(11) & "3" & Space(11) & "4" & Space(11) & "5" & Space(11) & "6" & Space(11) & "7" & Space(11) & "8" & Space(11) & "9" _
& Space(11) & "10" & Space(9) & "11" & Space(9) & "12"
Mois = " Janv" & Space(6) & "Févr" & Space(7) & "Mars" & Space(6) & "Avr" & Space(8) & "Mai" & Space(7) & "Juin" & Space(7) & "Juil" & Space(8) & "Aoùt" & Space(6) _
& "Sept" & Space(7) & "Oct" & Space(8) & "Nov" & Space(7) & "Déc"
Label455.Caption = Numéro
Label467.Caption = Mois
j'ai adapter a mon programme et j'ai regarder l'aide pour (choose) je ne connaissais pas
bon en tout cas ca fonctionne
Merci pour ton aide et ton savoir partagé
Cordialement Ray