j'aimerais comprendre cette macro

  • Initiateur de la discussion Initiateur de la discussion xhudi69
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

xhudi69

XLDnaute Accro
bonjour le forum,

oui! je sais, mais je m'y suis tellement mal pris sur mon dernier fil que je n'en veux pas aux gens d'avoir passé leur chemin 😱
j'aimerais savoir pourquoi ? dans l'userform lorsque je mêts le nom dans la combobox, j'ai un décalage dans l'affichage des textbox?.
j'en vois déjà des qui rigole, mais là j'apprends, alors soyez indulgents.
j'ai déjà beaucoup appris de ROBERT, MA POMME et HAONV, merci d'allonger la liste.

merci pour votre boulot.
 

Pièces jointes

Re : j'aimerais comprendre cette macro

bonjour,

tout simplement parce que tes texbox ne sont pas dans le même ordre que les i de ta boucle
tu n'as d'ailleurs pas de Texbox1

A réagencer

a+

ps comme cela

Private Sub ComboBox1_Change()
Set c = Sheets("BASE").Cells.Find(What:=ComboBox1)

If Not c Is Nothing Then
For i = 2 To 13

Controls("Textbox" & i) = Format(c.Offset(, i - 1), "")
Next i
End If
End Sub
 
Dernière édition:
Re : j'aimerais comprendre cette macro

Bonsoir CHALET53
merci de m'avoir répondu, j'ai bien une textbox1, mais elle est cachée par la combobox1, je pense que si je saisi dans cette dernière il peut y avoir confusion.....comment faire?
merci pour ta réponse.
 
Re : j'aimerais comprendre cette macro

Re,
A quoi te sert cette textbox1 puisque la combobox1 porte déjà l'info
la procédure que je t'ai proposé ci-dessus me semble fonctionner
a+

Si tu y tiens :

Private Sub ComboBox1_Change()
Set c = Sheets("BASE").Cells.Find(What:=ComboBox1)

If Not c Is Nothing Then
For i = 1 To 13

Controls("Textbox" & i) = Format(c.Offset(, i - 1), "")
Next i
End If
End Sub
 
Dernière édition:
Re : j'aimerais comprendre cette macro

l'adresse de la cellule où se trouve le nom que tu cherches correspond à c.offset(0,0)
Le prénom se trouve dans la cellule juste à côté soit c.offset(0,1)
Je commence la boucle à 2 : 1er passage donne Textbox2 (prénom) : le prénom est dans la cellule (C.offset(0,1) soit par rapport à la valeur de i (i-1)

La macro du post #4 permet de commencer la boucle à 1 (en écrivant le nom dans la textbox1) :toujours avec c.offset(0,i-1) puisque le nom recherché correspond à C.offset(0,0)

Pas sûr que ce soit clair
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Retour