Double-clic userform donné pré-rempli

Bonjour a tous,

Grace a James007, j,ai pu avancer grandement dans mon projet vba.

Merci encore a lui !

actuellement on double clic sur la page de recherche (tableau de recherche https://www.blog-excel.com/creer-un-champ-de-recherche-vba/) et les informations des colonne A, F, G et H sont copiés sur l'onglet de la feuill1 jusque la tous fonctionne bien ! (James007 ! )

Je souhaiterai améliorer mon classeur afin de le rendre plus "friendly" et aussi éviter les erreurs de saisie.

j'ai donc mis en place un userform qui de la même façon s'ouvre en double clic (UserForm1.Show), Mais je n'arrive pas a faire apparaitre dans les :

textbox4 -->colonne A

textbox7 -->colonne F

textbox8 -->colonne G

textbox9 -->colonne H

puis je finirais la saisie des autres champs a la main pour faire un ok qui mettra les infos du userform dans la feuill1

le code actuelle pour le copie/colle est :

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)

If Target.Column <> 2 Then Exit Sub

Dim der As String

der = Feuil1.Cells(Application.Rows.Count, "D").End(xlUp).Row + 1

With Worksheets("Feuil1")

.Range("D" & der).Value = Range("B" & Target.Row).Value

.Range("G" & der).Value = Range("F" & Target.Row).Value

.Range("H" & der).Value = Range("G" & Target.Row).Value

.Range("I" & der).Value = Range("H" & Target.Row).Value

End With

Cancel = True 'pour ne pas entrer en saisie dans la cellule

End Sub

Je joins le classeur pour plus de simplicité

Merci encore du temps accordé

Fred

Bonjour,

Tu peux tester le code suivant :

Private Sub UserForm_Initialize()
  Ligne = ActiveCell.Row
  With Feuil45
        TextBox4.Value = .Cells(Ligne, 2).Value
        TextBox7.Value = .Cells(Ligne, 6).Value
        TextBox8.Value = .Cells(Ligne, 7).Value
        TextBox9.Value = .Cells(Ligne, 8).Value
  End With
End Sub

En espèrant que cela t'aide ...

Bonjour James007,

Tout d'abord Merci de ton support.

J'ai une erreur :

Erreur de compilation

Sub ou fonction non défini

et les lignes suivantes sont en rouge....

With Feuil45

TextBox4.Value = .Cells(Ligne, 2).Value

TextBox7.Value = .Cells(Ligne, 6).Value

TextBox8.Value = .Cells(Ligne, 7).Value

TextBox9.Value = .Cells(Ligne, 8).Value

Merci encore de ton aide.

Fred

Hello,

Ci-joint ton fichier ... en version2 ...

J'espère que cela t'aidera ...

Hello James007,

Evidemment cela fonctionne du premier coup !! un tir, une cible ...double zero 7 !

j'ai rajouté un "UserForm1.Show" a la fin du premier code que tu m'avais donné afin que le userform s'ouvre directement en double clic avec les infos de la ligne concernée.

Merci encore pour ton support.

Passe au bar, je t'offre Un Vodka-Martini,... au shaker, pas à la cuillère je crois ?!

Bonne journée

Fred

C'est çà ... au shaker ...

Ravi que ta macro fonctionne comme tu le voulais ....

Et un GRAND Merci ... pour tes remerciements ...

Juste une petite chose cependant !

- a l'ouverture du userform et après avoir rempli les champs, on cliquer sur ok, les champ sont bien rempli dans le fichier feuil1 mais en double....

Puis en réouvrant le userform, les anciennes donné sont encore la, pour les enlever on doit faire annuler et re-clic sur la ligne qui réapparaît correctement.

et malheureusement sur la feuil1, a fin, la surbrillance du tableau gène la lecture....

je te joins le fichier

je tente également de trouver dans mon coin !

Fed

Bonjour,

à tester

pour la 2ème question puis, sur la zone de recherche double clic dessus pour effacer le contenu + changement de la couleur à l'intérieur du tableau + userform textbox commentaire multiline = true avec scroolbar verticale

Edit : reste plus qu'à trouver pour les doublons de la feuil2

pour modifier la couleur du tableau : ici en 23

palette des couleurs : http://dmcritchie.mvps.org/excel/colors.htm

ligne :

Range("B" & Ligne & ":I" & Ligne).Interior.ColorIndex = 36

dans

: Private Sub TextBox1_Change()

crdlt,

André

Bonjour Andre13

Merci pour ton support et toutes ces précieuses informations.

J'ai ajouter les :

Unload UserForm1

Load UserForm1

UserForm1.Show

dans mon fichier de travail et tout fonctionne comme prévu !

Plus de doublon !

la seul chose embêtante est a la fin sur la feuil2 est cette surbrillance bleu, on clic a coté et cela disparait... y aurait il un moyen simuler un clic par ex ?

Merci encore de ton aide

Fred

Re Andre13,

non ce bleu toujours présent.

Je te joins une png pour te monter la "selection" génante

Cependant toute "la mécanique" fonctionne correctement depuis ton ajustement

Merci encore de ton temps

Fred

bleu

Re,

c'est celui là qu'il faut changer:

Range("B11:I1703").Interior.ColorIndex = 2

toujours dans : Private Sub TextBox1_Change()

2 secondes je regarde pour le blanc à la place (le chiffre)

par white

ce qui donne :

et/ou

Range("B11:I1703").Interior.ColorIndex = white

Re Andre13

pour les doublons je viens de comprendre, lorsque l'on fait annuler dans l'userform, il inscrit quant même la ligne...

donc l'action de :

Private Sub CommandButton2_Click()

Unload Me

End Sub

n'est pas suffisante....

Fred

Re,

Edit : Tiens moi au courant si pour la couleur c'est ok (white pour intercolor)

En essayant sur command button sur Change ?

Merci Andre13 pour tout tes efforts.

En faite le "problème" n'est pas un problème de couleur en tant que telle, mais que, a la fin de la séquence

lorsque que toutes les infos on été inscrite, il reste comme une genre de résidu de "selection" bleu. Sélection fait par excel a la fin de ses taches. Un simple clic dans la feuille le fait disparaitre

le png que je t'ai envoyer montre cette selection, ce n'est pas moi qui l'ai faite .....

j’espère m’être expliqué clairement !

Fred

edit: Pour le bouton "annuler" de l'userform, celui-ci fonctionne rempli sa fonction de fermer l'userfom, mais il rajoute quant meme la ligne dans le fichier de la feuil1

Re,

je regarde pour le bouton Annuler bouton de commande 2

crdlt,

André

Re,

bon j'ai déchargé l'usf

car, le bouton de commande 1 il était seulement caché sous hide

le bouton 2 de la commande 2, je pense que c'est bon et renvois sur la feuille Table

à tester

Re,

non dsl,

lorsque je double clic sur la ligne , l'userform s'ouvre puis je clic sur annule, l'userform se ferme, mais dans la feuil1 une ligne c'est inscrite.....

Fred

Re,

Edit, je pense que c'est bon pour le btn

il faut dire non lors du dbe clic sur le message, et

à voir :

Rechercher des sujets similaires à "double clic userform donne pre rempli"