Userform relié à une cellule + validation de donnée

Bonjour à tous,

Je me permets de venir vous sollicité car je galère à trouver réponse à ma question

Je voulais savoir si il était tout simplement possible de relier une cellule à un userform, plus précisément à un textbox d'un userform. Enfin si c'est bien un textbox mais c'est l'endroit dans l'userform ou l'utilisateur peut rentrer des données.

Le truc c'est que j'aimerais que ça fonctionne dans les deux sens, en gros si je remplis dans le userform ça remplis la cellule mais si je modifie la cellule ça l'as modifie automatiquement dans le userform. Est ce faisable ? (Je pense que oui je commence à comprendre qu'avec excel tout est faisable )

Autre question pendant que j'y suis, comment est ce que je fais pour valider des données dans une liste dans un userform, sur une cellule classique pas de soucis, validé les données > Autorisé liste mais dans le Userform je ne sais pas faire ...

Merci d'avance

A+

Bonjour

Koko_Swiff a écrit :

Je voulais savoir si il était tout simplement possible

...;

C'est possible.

Voir fichier joint.

Bye !

123classeur1-v1.xlsm (21.92 Ko)

Bonjour Gmb,

Merci pour ce début de piste, néanmoins je ne suis pas sur qu'il soit adaptable à mon exemple.

Je joint le fichier pour plus de compréhension

47exemple.xlsm (79.33 Ko)

Dans le fichier que tu as joint, on trouve un UserForm avec 3 listes déroulante pour choisir un conducteur.

Si tu n'expliques pas ce qui les différencie, et plus précisément ce que tu attends, je ne vois pas comment te proposer quelque chose.

Bye !

Ah oui effectivement pardon. En fait ces listes déroulantes en choix conducteur sont identique. Elles sont seulement là pour l'exemple suivant :

Entre deux dates par exemple le 01/01/18 et le 15/01/18, j'ai conçus le tableur pour avoir la possibilité de choisir un choix conducteur qui sera constant pour la semaine. Puis de pouvoir choisir deux jours différent.

1 jour : 1 Cond Jour

2 Jour : 1 Cond Jour

3 Jour : 2 Cond Nuit + 1 Relais

4 Jour : 1 Cond Jour

5 Jour : 1 Cond Nuit + 2 Relais

6 Jour : 1 Cond Jour

...

Donc la validation de données est identique

Koko_Swiff a écrit :

j'ai conçus le tableur pour avoir la possibilité de choisir un choix conducteur qui sera constant pour la semaine. Puis de pouvoir choisir deux jours différent.

Alors, on attendra que tu nous montre tout ça et que tu nous dises ce que tu attends du forum.

Bye !

Re

Ahaha d'accord, voici le fichier en question. C'est une ancienne version, tout ne marche pas à la perfection et j'ai fait quelque modif depuis mais plus dans la partie VBA pas dans la localisation des cellule (pas d'ajout de colonne ou de ligne sur aucune feuille).

En gros ce que j'attends du forum, c'est une explication (pas forcément une solution complète mais un début que je puisse travailler) pour que lorsque je lance mon userform (qui n'est pas dans le fichier que je viens d'envoyer mais dans le premier) et que je remplisse les textbox, les cellules du classeur ce modifie en conséquence (= même valeur). Mais je voudrais également que cela fonctionne dans l'autre sens, c'est à dire que si je remplie les cellules ça remplie la textbox.

Chaque textbox à sa cellule correspondant dans la feuille TBL B. Pour faire apparaître les deux jours de conducteur différent marquer oui en cellule C14 de la feuille TBL B

Ensuite dans un deuxième temps, j'aimerais éventuellement que l'on m'explique la validation de donnée, mais ça je pense pouvoir m'en sortir seul avec le fichier que tu m'as déjà envoyé précédemment

Voilà déjà ce que j'ai fait :

Private Sub TextBox1_Change()
If IsNumeric(TextBox1) Then
Sheets("TBL B").Activate
[C4] = TextBox1
Else
MsgBox "La valeur : " & TextBox1 & " n'est pas valide ! Merci de saisir une valeur numérique pour votre billet collectif !"

Call lance_USF2_2

End If
End Sub

Le problème de ce code est qu'il ne marche que dans un sens, si je change la valeur C4 rien ce passe dans la textbox ...

Et je souhaite absolument que cela puisse changer pour la raison suivante par exemple :

En cellule Q2, j'ai une formule qui m'indique si la valeurs rentré en C4 est déjà présente dans la base de donnée, si oui alors affiche une MsgBox et supprime la donnée en C4.

Donc j'aimerais également que cela supprime dans le textbox

Essaie avec ce code à mettre la la feuille VBA concernée :

Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Address <> "$C$4" Then Exit Sub
    UserForm1.TextBox1 = Range("C4")
    UserForm1.Show
End Sub

Bye !

Re,

Désolé mais ça ne marche pas, j'ai essayer de le modifier, j'ai tenter de le faire depuis mon vrai fichier sans succès.

J'ai donc tenté de le faire dans le fichier exemple envoyé précédemment, j'appelle mon userform en mode modal depuis un bouton et lorsque je change la valeur rien ne change dans le textbox

Pourquoi alors ne pas joindre ton "vrai fichier" après l'avoir rendu anonyme au besoin ?

Bye !

Bonjour Gmb,

Tout d'abord merci de ton retour !

Je me suis penché un peu plus en détails sur le problème et je me suis rendu compte que je prenais à l'envers ...

Je voulais qu'il y ai le retour depuis la cellule dans le textbox alors qu'il n'y en avais pas l'utilité.

La raison était que les macro était programmé pour supprimer les erreur dans les cellules correspondante, il suffisait d'y ajouter d'effacer également les textbox en cas d'erreur et le tour est jouer

Merci quand même, je valide résolue même si on a pas résolu à la question première qui n'as plus lieu d'être

Bonne journée !

Rechercher des sujets similaires à "userform relie validation donnee"