Changer la zone de sélection en fonction d'une textbox USF

Bonjour,

après plusieurs essais de ma part et des recherches je ne trouve toujours pas comment faire.

Je cherche à changer la valeur dans les cases de la colonne B de ma feuille en fonction de la valeur dans une textbox (laTextBox11 par exemple). Il faudrait donc que le VBA sélectionne la bonne case de la colonne B en fonction d’un chiffre que je rentre en TextBox11 et que quand j’écrive dans la Textbox lié au nom de la couche, ca écrive ce qu’il y a dans la case.
Pour exemple regarder la couche 1, elle marche car la hauteur ne change jamais (0m).

mxg5-correction-tp-fondations-profondes.xlsm (55,3 Ko)
Si je n’ai pas été clair merci de me le dire

Merci d’avance pour votre aide.

Bonjour

Pas simple à comprendre

Si je regarde ton formulaire notamment le code derrière le Textbox11 dés que celui-ci change lors d’une saisie ce traitement s’exécute :

Private Sub TextBox11_Change()
TextBox11.Value = TextBox9

End Sub

C’est à dire qu’à toute saisie de ce Textbox ce code remet la valeur de la Texbox9 dans celui-ci

Comme le Textbox9 à la valeur 0 aucune saisie en Textbox11 n’est maintenue car c’est celle du Textbox9 soit 0 qui est remis

Difficile dans ces conditions de mettre un traitement derrière une saisie qui ne reste pas

Quand est il exactement de ce fonctionnement ?

As tu essayé de saisir un chiffre autre que 0 dans ce Textbox11
Impossible il reste à 0
Du fait des lignes de code que je t’ai indiquées ci-dessus qui interviennent à tout changement du Textbox11

Merci de m’en dire plus

Pour le problème de la valeur = 0, il faut seulement changer la valeur de TextBox 9 et la valeur de Textbox11 se changera quand vous supprimerez le 0.

Merci de votre patience mais j’ai réussi a trouver une solution pour la couche 1 avec ce code la :
Range(« B16 »).Select
Range(« B16 »).Value = TextBox2

cela marche car le début de la couche 1 ne change jamais et est égale à 0m. c’est pour ca que je peux mettre B16 pour la cellule de sélection.
Pour les autres couches je voudrais le mêmes principes mais au lieu de B16 un truc qui fasse changer la sélection en fonction de la valeur dans TextBox11.

J’espère vous avoir éclairer un peu plus.

Bonne soirée.

« Pour le problème de la valeur = 0, il faut seulement changer la valeur de TextBox 9 et la valeur de Textbox11 se changera quand vous supprimerez le 0. »

Certes je l avais bien compris mais il n en reste pas moins que le Texbox11 n est pas modifiable donc difficile de prévoir dans ces conditions une procédure avec sa mise à jour car celle-ci est impossible avec ce fonctionnement

« Pour les autres couches je voudrais le mêmes principes mais au lieu de B16 un truc qui fasse changer la sélection en fonction de la valeur dans TextBox11. »

La valeur dans le Texbox11 est celle du Texbox9
Or pour mettre une procédure derrière il faudrait qu il soit autonome sinon impossible
Sa donnée mise sur laquelle le code devrait agir sera automatiquement remplacée par la valeur du Texbox9 avant l enclenchement de celle-ci donc inopérant sur l issue de son traitement

Il faut revoir la conception de l ensemble ou peut être prévoir un autre Texbox non assujetti à un autre pour que la donnée saisie ne soit remplacée

Je ne vois comment faire autrement c est impossible

Merci d’abord de votre réponse détaillé cela me permet d’apprendre un peu plus.

D’accord, et si la textBox11 ne comportait pas de code et que l’on pourrait saisir ce que l’on veut. Quel serait le code à employer pour faire ce que je voulais ?

Cordialement

La donnée saisie en textbox11 est à rechercher dans quel colonne ?
Je suppose en colonne C puis une fois trouvé en déduire celle de la colonne B pour la mettre à jour d une autre donnée saisie dans une autre Texbox
Ais je bien compris ?

Je ne pensais pas faire comme cela mais cette technique a l’air très bien et même mieux.
Donc oui ce serait comme ca.
Il faut trouvé la ligne correspondant en colonne C puis marqué à la même ligne mais dans la colonne B la valeur marqué dans Textbox10.

Bonjour

Ci-joint ton fichier adapté pour le TextBox11 onglet du formulaire « Couche 2 »

Saisis dans le textbox du Nom de la couche une donnée à ta convenance puis dans le TextBox11 Hauteur de la couche une valeur de la colonne C onglet « Feuille de calcul » sois en saisie manuelle soit avec les petite flèches (attention pour séparer les décimales à utiliser le point et non la virgule)

puis cliques sur le bouton « Valider » du formulaire

Le traitement trouve la ligne dans la colonne C puis remonte sur la première ligne qui détient la première valeur du groupe en colonne D pour intégrer colonne B la donnée du TextBox10 « Nom de la couche »

Fais des essais et dis moi

La procédure pour récupérer la valeur du TextBox9 pour le TextBox11 à été inhibée

Fais moi un retour

mxg5-correction-tp-fondations-profondes2.xlsm (55,1 Ko)

Je suis désolé mais la solution que vous proposer n’avait pas l’air de fonctionner. J’ai trouver une solution sur un autre forum. Voici leurs solutions :
classeur1.xlsm (18,6 Ko)

Il s’agit d’une solution un peu plus simple que la votre et que je comprend

Merci beaucoup malgré tout pour votre réponse !

Bonsoir

Merci pour ton retour

Ravi que tu ais pu obtenir satisfaction sur un autre Forum

Il est à noté une proposition de ton interlocuteur :

Très en rapport avec celle que tu m’as demandé de faire fonctionner :

Une nette amélioration on peut apprécier

Je m’incline

Au plaisir