Plusieurs FOR à la suite
Résolu/Fermé
A voir également:
- Plusieurs FOR à la suite
- Download instagram for pc - Télécharger - Divers Communication
- Safari for windows - Télécharger - Navigateurs
- Youtube downloader for windows 10 - Télécharger - Conversion & Codecs
- Adobe reader for pc - Télécharger - PDF
- Need for speed: world - Télécharger - Jeux vidéo
7 réponses
NHenry
Messages postés
15047
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
11 mars 2023
331
12 juin 2016 à 13:13
12 juin 2016 à 13:13
Pourquoi avoir scindé ta boucle en 4 parties ?
Pourquoi tu change la case ? (9 pour la première boucle, 10 pour les 3 suivantes ?
Pourquoi tu change la case ? (9 pour la première boucle, 10 pour les 3 suivantes ?
ThauTheme
Messages postés
1442
Date d'inscription
mardi 21 octobre 2014
Statut
Membre
Dernière intervention
29 juillet 2022
160
12 juin 2016 à 13:23
12 juin 2016 à 13:23
Bonjour le fil, bonjour le forum,
Comme NHenry, pas tout compris !...
Essaie comme ça :
Comme NHenry, pas tout compris !...
Essaie comme ça :
Sub Macro3()
Dim Ligne As Integer
For Ligne = 1 To 36
Select Case Ligne
Case 1 To 24
Me.Controls("CommandButton" & Ligne).Caption = Sheets("caisse").Cells(Ligne + 1, 9)
Case 25 To 36
Me.Controls("CommandButton" & Ligne).Caption = Sheets("caisse").Cells(Ligne + 1, 10)
End Select
Next Ligne
End Sub
Bonjour Thau Therme,
Comme je l'ai déjà je suis plus que mauvais dans le domaine et mes explications sont peu explicites.
En clair j'ai un userform avec 36 buttons .
Les buttons 1 à 24 doivent récupérer les données (texte) des cellules de ma colonne 9.les butons 25 à 28 les données des cellules de ma colonne 10. Les buttons 29 à 32 les données de ma colonne 11 et les buttons 33 à 36 celles de ma colonne 12.
Je me suis permis de modifier ta macro mais il n'y a que les buttons 1 à 24 qui prennent le nom des cellules de la colonne 9 (G)
Dim Ligne As Integer
For Ligne = 1 To 36
Select Case Ligne
Case 1 To 24
Me.Controls("CommandButton" & Ligne).Caption = Sheets("caisse").Cells(Ligne + 1, 9)
Case 25 To 28
Me.Controls("CommandButton" & Ligne).Caption = Sheets("caisse").Cells(Ligne + 1, 10)
Case 29 To 32
Me.Controls("CommandButton" & Ligne).Caption = Sheets("caisse").Cells(Ligne + 1, 11)
Case 33 To 36
Me.Controls("CommandButton" & Ligne).Caption = Sheets("caisse").Cells(Ligne + 1, 12)
End Select
Next Ligne
End Sub
Encore merci pour ton aide
Comme je l'ai déjà je suis plus que mauvais dans le domaine et mes explications sont peu explicites.
En clair j'ai un userform avec 36 buttons .
Les buttons 1 à 24 doivent récupérer les données (texte) des cellules de ma colonne 9.les butons 25 à 28 les données des cellules de ma colonne 10. Les buttons 29 à 32 les données de ma colonne 11 et les buttons 33 à 36 celles de ma colonne 12.
Je me suis permis de modifier ta macro mais il n'y a que les buttons 1 à 24 qui prennent le nom des cellules de la colonne 9 (G)
Dim Ligne As Integer
For Ligne = 1 To 36
Select Case Ligne
Case 1 To 24
Me.Controls("CommandButton" & Ligne).Caption = Sheets("caisse").Cells(Ligne + 1, 9)
Case 25 To 28
Me.Controls("CommandButton" & Ligne).Caption = Sheets("caisse").Cells(Ligne + 1, 10)
Case 29 To 32
Me.Controls("CommandButton" & Ligne).Caption = Sheets("caisse").Cells(Ligne + 1, 11)
Case 33 To 36
Me.Controls("CommandButton" & Ligne).Caption = Sheets("caisse").Cells(Ligne + 1, 12)
End Select
Next Ligne
End Sub
Encore merci pour ton aide
ThauTheme
Messages postés
1442
Date d'inscription
mardi 21 octobre 2014
Statut
Membre
Dernière intervention
29 juillet 2022
160
12 juin 2016 à 14:56
12 juin 2016 à 14:56
Bonjour VDB,
Le code fonctionne je te le garantis mais as-tu vérifié le contenu des cellules de l'onglet caisse ?
J'ai fait l'effort, que tu aurais dû faire toi-même, de reproduire ton problème. Il faut que tu prennes cette habitude de joindre un fichier si tu espères une réponse rapide. Nous ne serons pas toujours aussi complaisants...
Il y a deux version. La v01 correspond à ton code et tu verras qu'elle fonctionne.
La v02 correspond peut-être à ce que tu as dans ton fichier...
Pour joindre une fichier regarde du coté de www.cjoint.com ou tant d'autres...
https://www.cjoint.com/c/FFmmX2IWinR
Le code fonctionne je te le garantis mais as-tu vérifié le contenu des cellules de l'onglet caisse ?
J'ai fait l'effort, que tu aurais dû faire toi-même, de reproduire ton problème. Il faut que tu prennes cette habitude de joindre un fichier si tu espères une réponse rapide. Nous ne serons pas toujours aussi complaisants...
Il y a deux version. La v01 correspond à ton code et tu verras qu'elle fonctionne.
La v02 correspond peut-être à ce que tu as dans ton fichier...
Pour joindre une fichier regarde du coté de www.cjoint.com ou tant d'autres...
https://www.cjoint.com/c/FFmmX2IWinR
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Loin de moi de vouloir abusé de votre gentillesse.Avant de me permettre de faire appel à vous je galère longtemps avec le peu de connaissance que j'ai.
Bien sûr que j'ai vérifier que mes cellules étaient remplies. PAR CONTRE SEULES LES 10 PREMIERES CELLULES DE MES COLONNES 10,11,12
LE SONT. JE PENSAI A TORT QUE LES BUTTONS DE CHAQUE CASE, RECUPERERAIENT LES DONNEES EN COMMANCANT PAR LA CELLULE N°2 DE CHAQUE COLONNE.
Merci
Bien sûr que j'ai vérifier que mes cellules étaient remplies. PAR CONTRE SEULES LES 10 PREMIERES CELLULES DE MES COLONNES 10,11,12
LE SONT. JE PENSAI A TORT QUE LES BUTTONS DE CHAQUE CASE, RECUPERERAIENT LES DONNEES EN COMMANCANT PAR LA CELLULE N°2 DE CHAQUE COLONNE.
Merci
ThauTheme
Messages postés
1442
Date d'inscription
mardi 21 octobre 2014
Statut
Membre
Dernière intervention
29 juillet 2022
160
12 juin 2016 à 17:04
12 juin 2016 à 17:04
Re,
Tu n'abuses pas mais tu ne fais toujours l'effort d'un fichier en pièce jointe... As-tu regarder la version 02 du fichier que je t'ai proposé ?
Tu n'abuses pas mais tu ne fais toujours l'effort d'un fichier en pièce jointe... As-tu regarder la version 02 du fichier que je t'ai proposé ?
VDB57
>
ThauTheme
Messages postés
1442
Date d'inscription
mardi 21 octobre 2014
Statut
Membre
Dernière intervention
29 juillet 2022
12 juin 2016 à 17:32
12 juin 2016 à 17:32
Je ne sais comment te remercier.
C'est exactement ce que je recherchais.
A presque 70 ans on n'est plus tout à fait au top.
Merci pour ta patiente
C'est exactement ce que je recherchais.
A presque 70 ans on n'est plus tout à fait au top.
Merci pour ta patiente
Bonjour VDB57,
Voici ce que j'ai trouvé de plus simple (avant ton message #6) :
Cordialement. 😊
Si OK : clic en haut de page sur « Marquer comme résolu » ; merci !
Voici ce que j'ai trouvé de plus simple (avant ton message #6) :
Option Explicit
Sub Macro1()
Dim lig As Byte, col As Byte, k As Integer
For lig = 1 To 36
k = Int((lig - 21) / 4): col = 9 - k * (k > 0)
Me.Controls("CommandButton" & lig).Caption = Sheets("caisse").Cells(lig + 1, col)
Next lig
End Sub
Cordialement. 😊
Si OK : clic en haut de page sur « Marquer comme résolu » ; merci !