Plusieurs FOR à la suite
Résolu
VDB57
-
VDB57 -
VDB57 -
A voir également:
- Plusieurs FOR à la suite
- Downloader for pc - Télécharger - Téléchargement & Transfert
- Idm for mac - Télécharger - Téléchargement & Transfert
- Copytrans heic for windows - Télécharger - Visionnage & Diaporama
- Instagram for pc - Télécharger - Divers Communication
- Microsoft store download for pc - Guide
7 réponses
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 ?
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
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
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 !