Double click - Userform
Résolu
xavier62000
Messages postés
106
Date d'inscription
Statut
Membre
Dernière intervention
-
eriiic Messages postés 24581 Date d'inscription Statut Contributeur Dernière intervention -
eriiic Messages postés 24581 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/
8 réponses
-
Bonjour,
Voici le classeur modifié:
https://www.cjoint.com/c/HHsiKicX4yQ
voir si cela convient?
-
Bonjour,
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-
-
-
J'ai apporté les modifications suivantes :
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 -
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
-
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.
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
-
-
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.
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 !!