XL 2019 Ajoutez des TextBox dans un formulaire intuitif

hemardjean

XLDnaute Occasionnel
Bonjour le forum
Je me tourne à nouveau vers vous pour comprendre où j'ai pu me tromper dans le code.
Je cherche à ajouter des TextBox dans le dossier que j'ai récupéré sur le site boisgontierj.free.fr .
Voici les Codes que que j'ai utilisé , je les ai laissées en vert. Pourriez-vous me dire où sont mes erreurs pour que je puisse en ajouter d'autres .
Merci d'avance de votre aide.
Bien cordialement

VB:
Dim choix1()
Private Sub UserForm_Initialize()
  choix1 = [liste].Value
  Me.ComboBox1.List = choix1
End Sub
Private Sub ComboBox1_Change()
     Dim b()
     Me.TextBox1 = ""
    
     'Me.TextBox2 = ""
    
     tmp = "*" & UCase(Me.ComboBox1) & "*"
     n = 0
     For i = LBound(choix1) To UBound(choix1)
       If UCase(choix1(i, 1)) Like tmp Or UCase(choix1(i, 2)) Like tmp Then
      
       'If UCase(choix1(i, 1)) Like tmp Or UCase(choix1(i, 2))Like tmp Or UCase(choix1(i, 3)) Like tmp Then
      
         n = n + 1: ReDim Preserve b(1 To 3, 1 To n)
        
         ' n = n + 1: ReDim Preserve b(1 To 4, 1 To n)
        
        
         b(1, n) = choix1(i, 1): b(2, n) = choix1(i, 2): b(3, n) = choix1(i, 3)
        
         ' b(1, n) = choix1(i, 1): b(2, n) = choix1(i, 2): b(3, n) = choix1(i, 3): b(4, n) = choix1(i,4 )
        
       End If
      Next i
      If n > 0 Then
        Me.ComboBox1.Column = b
        Me.ComboBox1.DropDown
      Else
        Me.ComboBox1.Clear
      End If
End Sub
Private Sub ComboBox1_click()
      On Error Resume Next
      Me.TextBox1 = Me.ComboBox1.Column(1)
      Me.TextBox2 = Me.ComboBox1.Column(2)
      
      Me.TextBox3 = Me.ComboBox1.Column(3)
      
      
End Sub
Private Sub CommandButton1_Click()
 If Me.TextBox1 <> "" Then
    ActiveCell = UCase(Me.ComboBox1)
    ActiveCell.Offset(0, 1) = Me.TextBox1
    ActiveCell.Offset(0, 2) = Me.TextBox2
    
    ActiveCell.Offset(0, 3) = Me.TextBox3
    
    Unload Me
 End If
End Sub
 

hemardjean

XLDnaute Occasionnel
Bonjour xUpsilon gbinforme et Deadpool_CC

Voici le dossier pour plus de compréhension. Il n'y a qu'un userform avec ouverture par double click dans la colonne A.
Merci a vous trois de votre aide.
Bonne soirée
 

Pièces jointes

  • Intuitif2colonnesCodeDescription.xls
    69 KB · Affichages: 5

Deadpool_CC

XLDnaute Accro
Déjà dans les bonnes pratiques quand on maitrise pas Vba ... commence par mettre "option explicit" avant tout.

cela te forcera à déclarer tes variables avec le bon type et en plus cela rendra le code plus comprehensible.

1661793883614.png


car c'est quoi choix1(i,1) je ne sais pas
Le "tableau" à 2 dimension b() ... ya quoi dedans ... ?

tes varaibles choix1 de la sub combobox_cahnge et de la sub userform_initilize ne sont pas les mêmes variables puisque pas déclaré en variable globale ... elle vont être vu comme varaible local à la sub (créer quand on rentre dans le sub, détroute quand on en sort.

je pense qu'il faudrait bien que tu avances dans ton code car juste mettre 'mon code ne sert pas à grand chose pour nous.

En l'état vu qu'il n'y a pas tout (ou suffisamment) impossible à tenter de comprendre/débugguer.
avance un peu et reviens vers nous

ET si tu ne maitrises pas assez le VBA, dans ce cas explique nous ce que tu veux faire qu'on puisse te proposer quelque chose.

j'avoue qu'à lire ton code ... je comprend rien à l'objectif.
Dsl
 

Pièces jointes

  • 1661793855146.png
    1661793855146.png
    884 bytes · Affichages: 29

TooFatBoy

XLDnaute Barbatruc
Bonjour,

tes variables choix1 de la sub combobox_change et de la sub userform_initialize ne sont pas les mêmes variables puisque pas déclaré en variable globale ... elle vont être vues comme variables locales à la sub (créée quand on rentre dans la sub, détruite quand on en sort).
Pardon mais, à moins que je ne me trompe, il me semble que sur ta capture d'écran on voit la variable choix1 déclarée en global.


Pas sûr d'avoir compris le problème, mais tu trouveras tout de même ci-joint une proposition.
 

Pièces jointes

  • Intuitif2colonnesCodeDescription_(TooFatBoy-v1).xlsm
    24.9 KB · Affichages: 5

hemardjean

XLDnaute Occasionnel
Bonjour le forum , TooFatBoy, Deadpool_CC

Pour répondre à Deadpool_CC je suis débutant et avant de vous solliciter je m'efforce de comprendre le code et de le modifier..

J'ai repris le code de boisgontier et j'ai ajouter en bout du code ce que je croyais être logique pour que cela fonctionne , ce sont les lignes en vert.

Ce que je cherche à faire c'est de pouvoir ajouter des TextBox (22) pour lire les colonnes qui ne se suivent pas.

Bien cordialement
 

TooFatBoy

XLDnaute Barbatruc
Pourquoi 22 TextBox ?
De mémoire (je ne peux pas actuellement ouvrir le fichier), le tableau choix1 ne contient pas tant de colonnes.

Il me semble que lors de la recherche plusieurs lignes pourraient correspondre, donc des TextBox ne sont peut-être pas la meilleure solution.
 
Dernière édition:

hemardjean

XLDnaute Occasionnel
Comme demander sur le forum je n’ai pas mis le dossier définitif et celui que je vous ai joint sera intégré à celui qui est actuellement en construction pour de la généalogie, c’est pour cela qu’il me faut les 22 texbox .

Celles-ci sont prévues pour récupérer les données déjà saisies pour éviter de les retaper.
 

TooFatBoy

XLDnaute Barbatruc
Je n'ai toujours pas compris l'intérêt des 22 TextBox. :(
Mais peu importe. Si tu veux 22 TextBox, on va essayer de t'aider à avoir tes 22 TextBox. ;)

Si tu trouves quelques instant pour donner un retour sur ma proposition, ce sera cool.
 

hemardjean

XLDnaute Occasionnel
Pour faire simple je cherche avec la Combobox à récupérer la liste de la colonne B puis avec les Texbox les éléments des colonnes C ,L,M, et de P à AI.
Comme tu peux voir dans le dossier certaines lignes ne sont pas complètes. Exemple en ligne 5 tartenpion jean pierre son père et tartenpion gerard je voudrais récupérer, la mere les dates de naissance des deux et si il y a des grands-pères les récupérait pour les afficher sur la ligne 5 . Voilà je ne sais pas si c'est plus clair. merci encore de m'aider.
 

Discussions similaires

Membres actuellement en ligne

Aucun membre en ligne actuellement.

Statistiques des forums

Discussions
314 645
Messages
2 111 536
Membres
111 184
dernier inscrit
amiko