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 !
Je souhaiterai mettre un code, dans plusieurs Textbox sur un Uerform, qui si 1 Checkbox parmi plusieurs est cochée dans une feuille, la valeur des Textbox seront les données de certaines cellules adjacentes de la même ligne.
Par exemple, les Checkbox sont en cellules A. Si la checkbox5 de la ligne 6 est coché, cela copie, dans les Textbox1, TextBox2, ou autre de l’USerform généré, les données de la colonne B, D, E, ou autres de la même ligne.
Mais je n’arrive pas à faire référence à la cellule liée qui est, dans l’exemple, en A6, et ni même à faire une boucle (je suppose que c’est la solution…) pour ne pas avoir à répéter le code sur chaque Checkbox.
(La boucle m’aiderait également à ne pas avoir 49 codes pour chacun des Checkbox de ma feuille… 😉).
A noter que j’ai utilisé des Checkbox en sélectionnant Contrôles ActiveX directement sur la feuille.
Je n'arrive pas à joindre de fichier. Malgré la suppression de quasi toutes les données sauf les essentielles le site trouve trop volumineux mon fichier de 2,65Mo
Pourriez-vous m’aider/m’orienter svp ? J’ai farfouillé comme un fou sans succès et je craque un peu là… 🙁
En espérant avoir été explicite.
Je vous remercie par avance.
@Oneida
Pour répondre à ta question, les CheckBox sont normalement sur la zone A2:A3
J'ai testé je l'ai vu. Peut-être un problème dans le lien où alors (encore) je me suis mal exprimé...😓
Ça solutionne par mal de mes problèmes concernant les ChecBox.
En fait je voulais, à l'origine que les CheckBox s'affiche à la sélection de la ligne mais je n'arrivai pas à trouver l’événement approprié
C'est chose faite avec le code de @chris (Merci à vous!). J'ai simplement modifié car...
Re-bonjour,
Petite clarification de ma pensée (enfin je crois..)
En gros j'imagine que faire référence à la cellule liée à la CheckBox va permettre d'utiliser "offset" (je suis pas sur de l'ortho et ne sais pas comment cela s'appelle) pour faire référence aux autres colonnes afin que les données de ces dernières soient remontées dans les TextBox afférentes (Ex CheckBox3, Ligne 4, cochée = (avec offset), valeur colonne B de la même ligne pour TextBox1, valeur colonne D de la même ligne pour TextBox2 et ainsi de suite)
Pour ce qui est de la boucle, je souhaiterai n'avoir qu'un code via ce moyen. En gros, pour toutes les CheckBox présentes dans la feuille, si 1 est cochée on lance l'action au-dessus.
En espérant avoir été plus explicite encore.
(Désolé ça se bouscule un peu dans ma tête..)
Je souhaiterai mettre un code, dans plusieurs Textbox sur un Uerform, qui si 1 Checkbox parmi plusieurs est cochée dans une feuille, la valeur des Textbox seront les données de certaines cellules adjacentes de la même ligne.
Par exemple, les Checkbox sont en cellules A. Si la checkbox5 de la ligne 6 est coché, cela copie, dans les Textbox1, TextBox2, ou autre de l’USerform généré, les données de la colonne B, D, E, ou autres de la même ligne.
Mais je n’arrive pas à faire référence à la cellule liée qui est, dans l’exemple, en A6, et ni même à faire une boucle (je suppose que c’est la solution…) pour ne pas avoir à répéter le code sur chaque Checkbox.
(La boucle m’aiderait également à ne pas avoir 49 codes pour chacun des Checkbox de ma feuille… 😉).
A noter que j’ai utilisé des Checkbox en sélectionnant Contrôles ActiveX directement sur la feuille.
Je n'arrive pas à joindre de fichier. Malgré la suppression de quasi toutes les données sauf les essentielles le site trouve trop volumineux mon fichier de 2,65Mo
Pourriez-vous m’aider/m’orienter svp ? J’ai farfouillé comme un fou sans succès et je craque un peu là… 🙁
En espérant avoir été explicite.
Je vous remercie par avance.
Pour transmettre un fichier,
Veillez a ce qu'il n'y ait PAS DE DONNEES CONFIDENTIELLES
il faut passer par un site de pièce jointe tel que cjoint.com
Allez sur ce site : http://cjoint.com
Clic sur parcourir,
Cherche ton fichier,
clic sur ouvrir,
Clic sur "Créer le lien cjoint",
Copier le lien,
Revenir ici le coller dans une réponse...
Bonjour, A noter que j’ai utilisé des Checkbox en sélectionnant Contrôles ActiveX directement sur la feuille.
Ah oui, elles sont ou vos Checkbox feuille
@Oneida
Pour répondre à ta question, les CheckBox sont normalement sur la zone A2:A3
J'ai testé je l'ai vu. Peut-être un problème dans le lien où alors (encore) je me suis mal exprimé...😓
Ça solutionne par mal de mes problèmes concernant les ChecBox.
En fait je voulais, à l'origine que les CheckBox s'affiche à la sélection de la ligne mais je n'arrivai pas à trouver l’événement approprié
C'est chose faite avec le code de @chris (Merci à vous!). J'ai simplement modifié car le code s'applique (si j'ai bien tout saisi) à un tableau mais je ne peux pas l'appliquer à mon cas car le tableau fait bugger la copie de mes datas de la feuille d'origine vers ma feuille Extraction
j'ai donc fait ça :
VB:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If Intersect(Target, Range("T_Cible")) Is Nothing Then Exit Sub
If Target.Value = "" Then
Target.Value = "ü"
'Action à adapter
If MsgBox("Voulez-vous réceptionner cette ligne de commande ?", vbYesNo + vbQuestion + vbDefaultButton2, "Question") = vbYes Then
UserForm3.Show
Else
MsgBox "Réception annulée !" & Chr(10) & "Veuillez selectionner une autre ligne", vbOKOnly + vbCritical, "Annulation"
Target.Value = ""
End If
End If
End Sub
Pas beaucoup de changement mais c'est fonctionnel
Avec une petite MEFC quand on double-click sut la cellule, c'est top !!🤩
Pour la deuxième partie de mon problème, c'est résolu également...😅
J'ai décidé d'apprendre (ou plutôt de comprendre)!
J'ai donc mis en place ce code pour que mes TextBox soient remplies si une des cellules de la colonne A sont non-vides :
Code:
Private Sub UserForm_Activate()
Dim MaCellule As Range
For Each Cellule In Range("A2:A100")
If Cellule.Value <> "" Then
TextBox1.Value = ActiveCell.Offset(0, 1).Value
TextBox2.Value = ActiveCell.Offset(0, 3).Value
TextBox3.Value = ActiveCell.Offset(0, 4).Value
TextBox4.Value = ActiveCell.Offset(0, 5).Value
TextBox5.Value = ActiveCell.Offset(0, 6).Value
TextBox20.Value = Date
TextBox7.Value = TextBox4.Value
TextBox14.Value = TextBox4.Value
End If
Next Cellule
End Sub
C'était sans doute tout bête mais bon..
Ne reste plus qu'à reporter dans les bonnes colonnes d'une autre feuille les valeurs des TextBox nouvellement remplies...
Je suis désolé de vous avoir sollicité alors que j'ai trouvé la solution de moi-même 😅
Comme quoi dès fois on bloque contre un mur alors qu'il y a une porte qu'il suffit d'ouvrir juste à côté....
Merci @Oneida de l'intêret que vous avez porté à ma question. Merci pour le lien cijoint.com (que je réutiliserai sans aucun doute)
Merci @chris pour votre code
Merci au Forum d'être là !!
- 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