j'aimerais comprendre cette macro

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 :eek:
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

  • XHUDI_1.xlsm
    36.3 KB · Affichages: 56
  • XHUDI_1.xlsm
    36.3 KB · Affichages: 60
  • XHUDI_1.xlsm
    36.3 KB · Affichages: 53

CHALET53

XLDnaute Barbatruc
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:

xhudi69

XLDnaute Accro
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.
 

CHALET53

XLDnaute Barbatruc
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:

CHALET53

XLDnaute Barbatruc
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
 

Membres actuellement en ligne

Statistiques des forums

Discussions
312 196
Messages
2 086 101
Membres
103 116
dernier inscrit
kutobi87