Double click - Userform
Résolu
xavier62000
Messages postés
72
Date d'inscription
Statut
Membre
Dernière intervention
-
eriiic Messages postés 24603 Date d'inscription Statut Contributeur Dernière intervention -
eriiic Messages postés 24603 Date d'inscription Statut Contributeur Dernière intervention -
Bonsoir,
Je cherche à double clicker sur une feuille de calcul "Listing" pour ouvrir un userform et d’y renvoyer les valeurs dans les Txt_box et les cb_box respectives pour modifier les données.
Donc quand je double click sur la feuille de calcul « Listing » l’userform s’affiche (pas de problème sur ce point)
Normalement, si j’ai bien compris les tutos et forums, l’userform devrait s’afficher avec les valeurs des différentes colonnes de la feuille « Listing ». Ce qui ne fait pas avec le code ci-dessous .
1°) J’ai déclaré une variable public Lalig qui devrait contenir la ligne du double click qui est celle à modifier
2°) Dans le module de la feuille « Listing »
3°) 3°) Dans le module de l’userform
Merci de votre aide
lien de partage : https://mon-partage.fr/f/gSmSx58c/
Je cherche à double clicker sur une feuille de calcul "Listing" pour ouvrir un userform et d’y renvoyer les valeurs dans les Txt_box et les cb_box respectives pour modifier les données.
Donc quand je double click sur la feuille de calcul « Listing » l’userform s’affiche (pas de problème sur ce point)
Normalement, si j’ai bien compris les tutos et forums, l’userform devrait s’afficher avec les valeurs des différentes colonnes de la feuille « Listing ». Ce qui ne fait pas avec le code ci-dessous .
1°) J’ai déclaré une variable public Lalig qui devrait contenir la ligne du double click qui est celle à modifier
Public Lalig As Long
2°) Dans le module de la feuille « Listing »
Private Sub Workbook_SheetBeforeDoubleClick(ByVal Sh As Object, ByVal Target As Range, Cancel As Boolean)
Cancel = True
Lalig = Target.Row
frm_saisie.Show
End Sub
3°) 3°) Dans le module de l’userform
3°) Dans le module de l’userform
Private Sub userform_initialise()
If Lalig > 0 Then
With Worksheets("Listing")
Me.cbxclub.Value.Range ("A" & Lalig)
Me.Txtlicence.Value.Range ("C" & Lalig)
Me.TxtNom.Value.Range ("D" & Lalig)
Me.Txtprenom.Value.Range ("E" & Lalig)
Me.Txtdate.Value.Range ("F" & Lalig)
Me.Txt_clt_Aller_Ufolep.Value.Range ("G" & Lalig)
Me.Txt_clt_retour_Ufolep.Value.Range ("H" & Lalig)
Me.Txt_clt_Aller_FFTT.Value.Range ("I" & Lalig)
Me.Txt_clt_retour_FFTT.Value.Range ("J" & Lalig)
Me.Txt_club_FFTT.Value.Range ("K" & Lalig)
Me.cbxmute.Value.Range ("L" & Lalig)
End With
End Sub
Merci de votre aide
lien de partage : https://mon-partage.fr/f/gSmSx58c/
A voir également:
- Double click - Userform
- Double ecran - Guide
- Whatsapp double sim - Guide
- Double driver - Télécharger - Pilotes & Matériel
- Double appel - Guide
- Double boot - Guide
8 réponses
Bonjour,
Il n'y a pas de macro "Private Sub userform_initialise()". Quant à celle que tu publies, il manque les signes "=".
Cordialement.
Daniel
Il n'y a pas de macro "Private Sub userform_initialise()". Quant à celle que tu publies, il manque les signes "=".
Cordialement.
Daniel
Bonsoir Daniel,
Je ne comprends pas.
A l'ai du fichier de partage, peux tu m'en dire plus car je nage complètement
Cordialement
xavier
Je ne comprends pas.
A l'ai du fichier de partage, peux tu m'en dire plus car je nage complètement
Cordialement
xavier
J'ai apporté les modifications suivantes :
La ligne "Public Lalig As Long
" doit être dans un module standard (Module_saisie :
La macro d'initialisation est la suuivante :
Ca fonctionne comme ça.
Daniel
La ligne "Public Lalig As Long
" doit être dans un module standard (Module_saisie :
' Afficher le formulaire à partir d'une feuille excel Public Lalig As Long Sub ouvreformulaire() frm_saisie.Show End Sub
La macro d'initialisation est la suuivante :
Private Sub userform_initialize() Me.Cbt_Valider.Enabled = False If Lalig > 0 Then With Worksheets("Listing") Me.cbxclub.Value = .Range("A" & Lalig) Me.Txtlicence.Value = .Range("C" & Lalig) Me.TxtNom.Value = .Range("D" & Lalig) Me.Txtprenom.Value = .Range("E" & Lalig) Me.Txtdate.Value = .Range("F" & Lalig) Me.Txt_clt_Aller_Ufolep.Value = .Range("G" & Lalig) Me.Txt_clt_retour_Ufolep.Value = .Range("H" & Lalig) Me.Txt_clt_Aller_FFTT.Value = .Range("I" & Lalig) Me.Txt_clt_retour_FFTT.Value = .Range("J" & Lalig) Me.Txt_club_FFTT.Value = .Range("K" & Lalig) Me.cbxmute.Value = .Range("L" & Lalig) End With End If End Sub
Ca fonctionne comme ça.
Daniel
Bonsoir Daniel,
Désolé, mais cela ne fonctionne toujours pas ci-dessous le lien de partage si tu veux bien regarder ??
https://mon-partage.fr/f/EQOxtKlB/
Merci d'avance
Cordialement
Désolé, mais cela ne fonctionne toujours pas ci-dessous le lien de partage si tu veux bien regarder ??
https://mon-partage.fr/f/EQOxtKlB/
Merci d'avance
Cordialement
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Bonjour,
si tu as double-cliqué dessus la cellule est obligatoirement active.
Pas besoin de transmettre une variable, sert-toi directement de ActiveCell dans l'UF.
eric
si tu as double-cliqué dessus la cellule est obligatoirement active.
Pas besoin de transmettre une variable, sert-toi directement de ActiveCell dans l'UF.
eric
Bonsoir Daniel,
Avec toute ma meilleure volonté, je suis dans l’impasse et je préfère m’adresser aux personnes compétentes car je commence vraiment à désespérer. Sur 2 problèmes que je n’arrive pas à trouver.
1°) Modifications
Donc si je double click sur la feuille de calcul « Listing » les données à modifier apparaissent avec le formulaire (merci daniel)
En revanche, si je modifie les données et malgré ce que j’ai mis sous le bouton « Modifier » je reste dans les choux.
En outre et pour ne pas porter à confusion, je souhaiterai que le bouton « valider » soit inactif quand le formulaire s’ouvre quand j’ai double cliqué sur la feuille de calcul soit ;
Mais je ne vois pas à quelle endroit il faut l'indiquer.
Est-il possible quand on modifie un enregistrement, que celui_ci comporte une couleur distinctive pour repérer les modifications effectuées ?
2°) Concernant l’ajout des données
A l’ouverture de mon userform, je renseigne les champs respectifs et quand j’appuie sur le bouton "Valider" , les données remplacent la dernière ligne.
En outre et pour ne pas porter à confusion, je souhaiterai que le bouton « modifier » soit inactif quand le formulaire s’ouvre soit ;
Lien de partage : https://mon-partage.fr/f/ZAfdMJhL/
Comme franchement, je ne touche pas une bille en VBA, vous est il possible de modifier mon petit truc en lien de partage cela vraiment sympa;
Cordialement
xavier
Avec toute ma meilleure volonté, je suis dans l’impasse et je préfère m’adresser aux personnes compétentes car je commence vraiment à désespérer. Sur 2 problèmes que je n’arrive pas à trouver.
1°) Modifications
Donc si je double click sur la feuille de calcul « Listing » les données à modifier apparaissent avec le formulaire (merci daniel)
En revanche, si je modifie les données et malgré ce que j’ai mis sous le bouton « Modifier » je reste dans les choux.
Private Sub Cbt_modifier_Click()
If Lalig > 0 Then
With Worksheets("listing")
.Range("A" & Lalig) = Me.cbxclub.Value
.Range("C" & Lalig) = Me.Textlicence.Value
.Range("D" & Lalig) = Me.TxtNom.Value
.Range("E" & Lalig) = Me.Txtprenom.Value
.Range("F" & Lalig) = Me.Txtdate.Value
.Range("G" & Lalig) = Me.Txt_clt_Aller_Ufolep.Value
.Range("H" & Lalig) = Me.Txt_clt_retour_Ufolep.Value
.Range("I" & Lalig) = Me.Txt_clt_Aller_FFTT.Value
.Range("J" & Lalig) = Me.Txt_clt_retour_FFTT.Value
.Range("K" & Lalig) = Me.Txt_club_FFTT.Value
.Range("L" & Lalig) = Me.cbxmute.Value
End With
End If
Unload Me
End Sub
En outre et pour ne pas porter à confusion, je souhaiterai que le bouton « valider » soit inactif quand le formulaire s’ouvre quand j’ai double cliqué sur la feuille de calcul soit ;
Me.Cbt_Valider.Enabled = False
Mais je ne vois pas à quelle endroit il faut l'indiquer.
Est-il possible quand on modifie un enregistrement, que celui_ci comporte une couleur distinctive pour repérer les modifications effectuées ?
2°) Concernant l’ajout des données
A l’ouverture de mon userform, je renseigne les champs respectifs et quand j’appuie sur le bouton "Valider" , les données remplacent la dernière ligne.
En outre et pour ne pas porter à confusion, je souhaiterai que le bouton « modifier » soit inactif quand le formulaire s’ouvre soit ;
Me.Cbt_Modifier.Enabled = False
Lien de partage : https://mon-partage.fr/f/ZAfdMJhL/
Comme franchement, je ne touche pas une bille en VBA, vous est il possible de modifier mon petit truc en lien de partage cela vraiment sympa;
Cordialement
xavier
Bonjour Eric,
Pour tester ta proposition, Il faudrait d'abord que j'arrive à comprendre le langage. Comme dit plus haut, je ne touche pas une bille. Je scrute les forums, tuto, video, pour avoir un espoir de trouver quelques choses qui peut se rapprocher de ce que j'aimerai voir fonctionner dans mon petit truc et au mieux le recopier (quelques fois ça fonctionne, mais pour ce cas ??).
Maintenant, si peux me satisfaire sur ma demande j'en serai heureux et enfin terminer mon projet.
Dans ma région, "Rester dans les choux" c'est être dans une mauvaise situation ou être dans l'embarras voir un Echec. Donc pour ce qui me concerne c'et plutôt un échec si personne ne peut m'aider.
Cordialement
Pour tester ta proposition, Il faudrait d'abord que j'arrive à comprendre le langage. Comme dit plus haut, je ne touche pas une bille. Je scrute les forums, tuto, video, pour avoir un espoir de trouver quelques choses qui peut se rapprocher de ce que j'aimerai voir fonctionner dans mon petit truc et au mieux le recopier (quelques fois ça fonctionne, mais pour ce cas ??).
Maintenant, si peux me satisfaire sur ma demande j'en serai heureux et enfin terminer mon projet.
Dans ma région, "Rester dans les choux" c'est être dans une mauvaise situation ou être dans l'embarras voir un Echec. Donc pour ce qui me concerne c'et plutôt un échec si personne ne peut m'aider.
Cordialement
Bonjour,
Ben il ne se passe rien de plus, quand je click sur ouvrir un formulaire, il y a dejà un enregistrement dans les champs.
Et quand je double click sur la feuille de calcul, le formulaire ne s'ouvre plus !!
Il doit y avoir un couac quelques part. Mais de toute façon, je ne ferai pas mieux
Merci quand même
Ben il ne se passe rien de plus, quand je click sur ouvrir un formulaire, il y a dejà un enregistrement dans les champs.
Et quand je double click sur la feuille de calcul, le formulaire ne s'ouvre plus !!
Il doit y avoir un couac quelques part. Mais de toute façon, je ne ferai pas mieux
Merci quand même
Ben il ne se passe rien de plus, quand je click sur ouvrir un formulaire, il y a dejà un enregistrement dans les champs.
C'est normal c'est le 1er de la liste, il suffit de faire défiler avec la comboBox pour sélectionner celui que l'on désire modifier ou ajouter
Et quand je double click sur la feuille de calcul, le formulaire ne s'ouvre plus !!
Il faut lire le code dans le module de la feuille listing !
Il est écrit que lors d'un double clic dans la colonne A il y a ouverture du formulaire
l doit y avoir un couac quelques part. Mais de toute façon, je ne ferai pas mieux
Il faut être un peu persévérant et chercher à comprendre!!!!!!!
Il faudrait quand même connaitre les fondamentaux avant de se lancer dans une telle entreprise
Bon courage
@+ Le Pivert
C'est normal c'est le 1er de la liste, il suffit de faire défiler avec la comboBox pour sélectionner celui que l'on désire modifier ou ajouter
Et quand je double click sur la feuille de calcul, le formulaire ne s'ouvre plus !!
Il faut lire le code dans le module de la feuille listing !
Il est écrit que lors d'un double clic dans la colonne A il y a ouverture du formulaire
l doit y avoir un couac quelques part. Mais de toute façon, je ne ferai pas mieux
Il faut être un peu persévérant et chercher à comprendre!!!!!!!
Il faudrait quand même connaitre les fondamentaux avant de se lancer dans une telle entreprise
Bon courage
@+ Le Pivert
Bonsoir,
Merci de votre aide. C'est pas tout à fait ce que j'attendais, mais avec votre aide j'y suis arrivé; Enfin presque !!
Merci de votre aide. C'est pas tout à fait ce que j'attendais, mais avec votre aide j'y suis arrivé; Enfin presque !!