Combobox avec nom et prénom + n° de ligne

Bonjour,

Je crois qu'on s'approche du besoin.

Je te laisser tester la chose.

ric

Bonsoir Ric,

Merci pour toutes les corrections apportées...

C'est exactement ce que je désirais....

J'effectue les derniers tests ce soir ou demain matin....mais je pense que la boucle est bouclée

Si tout est ok, je clôturerai le poste....

Je tiens encore à te remercier pour aide, et le temps consacré a ce projet....

@+ Ric

Bonjour Ric,

Après avoir tester, l'ensemble fonctionne correctement.... si tu vois quelque chose, dit le moi... j'attends ta réponse avant de clôturer le poste...

Encore merci pour ton aide si précieuse....

Oli

Bonjour,

Il est bien sûr que le code pourrait être amélioré si j'avais plus d'expérience.

Mais, s'il remplit son rôle correctement, c'est cela l'important.

Tu peux donc clôturer.

ric

Bonjour Ric,

Après des heures d'encodage clients, je viens de m'apercevoir que dans la recherche, il ne prend pas la dernière ligne du tableau....

Oli

Bonjour,

Regarde si le +1 à la fin de la ligne marquée " ' << modif " est suffisant ...

Dans le code du formulaire ....

Private Sub ComboBox1_change()
Dim X As Integer
Dim y As Integer
Dim Z As Integer
Dim i As Integer
Dim enregBD As Integer

   If Me.ComboBox1.ListIndex = -1 And IsError(Application.Match(Me.ComboBox1, Choix1, 0)) Then
      y = [Tableau1].Rows.Count
      ReDim Choix2(2 To y, 1 To 3)

      Raz
      Z = 2
      For X = 2 To UBound(Choix2) + 1  ' << modif
         If UCase(f.Cells(X, 1)) Like "*" & UCase(Me.ComboBox1.Value) & "*" Or _
            UCase(f.Cells(X, 2)) Like "*" & UCase(Me.ComboBox1.Value) & "*" Then
    ...
         suite du code ...
         ...
         ...
         ...
      Next X

re,

La modification, me permet d'avoir la dernière ligne en recherche mais si je fais une modif ou une ajoute sur ce client, j'ai une erreur du type l'indice n'appartient pas à la sélection....

Oli

Bonjour,

Désolé pour le manque de tests ...

Supprimer le +1 de la dernière proposition et, 3 lignes plus haut, ajouter +1 au Y.

Explication : le nombre de lignes de la variable tableau "Choix2" est 1 ligne de moins que les lignes de la feuille, car la variable tableau "Choix2" ne contient pas la ligne 1 "les entêtes" de la feuille.

Private Sub ComboBox1_change()
Dim X As Integer
Dim y As Integer
Dim Z As Integer
Dim i As Integer
Dim enregBD As Integer

   If Me.ComboBox1.ListIndex = -1 And IsError(Application.Match(Me.ComboBox1, Choix1, 0)) Then
      y = [Tableau1].Rows.Count
      ReDim Choix2(2 To y + 1, 1 To 3)  ' << Modif (ajout +1 au Y)

      Raz
      Z = 2
      For X = 2 To UBound(Choix2)  ' << modif  (supprimer le +1 de la dernière proposition )
         If UCase(f.Cells(X, 1)) Like "*" & UCase(Me.ComboBox1.Value) & "*" Or _
            UCase(f.Cells(X, 2)) Like "*" & UCase(Me.ComboBox1.Value) & "*" Then
                ...
         suite du code ...
         ...
         ...
         ...
      Next X

ric

re,

C'est corrigé et cela fonctionne .....

Excuse moi de t'avoir déranger un Dimanche

Mille fois Merçi Ric

Oli

Bonjour,

Pas de problème pour le dimanche ...

Pis ça fait toujours plaisir de faire plaisir ...

ric

Bonjour Ric,

J'ai petit soucis avec le fichier....

quand je veux ajouter une personne, il l'ajoute bien mais supprime une personne du fichier...

Peux-tu voir d'ou vient le problème

Merci d'avance

Oli

Bonjour,

Effectivement, l'erreur semble dater de la dernière version que je t'ai soumise.

Voilà ... corrigé et testé ...

Mille excuses ...

ric

re,

Pas de soucis...

Merci beaucoup Ric,

Bonne fête de fin d'année...

@+

Oli

Bonsoir,

Il y a ces exemples

Boisgontier

Bonsoir Ric,

J'ai un ami kiné qui ma demandé de lui faire un Userform comme le mien... (celui que tu as réalisé)

Je l'ai réalisé mais j'ai des erreurs dans le module 4 dans le tri des tableaux (Méthode range de l'objet global à échoué)....

De plus le combox1, ce n'est plus le nom + prénom sur deux colonnes avec le numéro de ligne mais bien sur 1 colonne avec le n° de ligne....

Veux-tu bien avoir la gentillesse de regarder ce qui ne va pas....

Je t'en remercie par avance

OLi

Bonjour,

Le premier souci (module4) ... dans les 2 tableaux, les entêtes "Nom" comportent une espace après de mot ... d'où l'erreur.

Pour le Combobox, je regarde bientôt.

ri

Bonjour,

Concernant ton 2e souci ... dans la macro "Private Sub UserForm_Initialize()" quelques lignes plus bas, tu retrouveras :

      For X = 2 To UBound(Choix1)
         Choix1(X, 1) = f.Cells(X, 1)  ' première colonne du combobox
         Choix1(X, 2) = f.Cells(X, 2)  ' deuxième colonne du combobox
         Choix1(X, 3) = X             ' le numéro de l'enregistrement
      Next X

Si tu ne veux plus la civilité ...

      For X = 2 To UBound(Choix1)
         Choix1(X, 1) = f.Cells(X, 2)  ' première colonne du combobox
         Choix1(X, 2) = X           ' le numéro de l'enregistrement
      Next X

ric

Bonsoir Ric,

Pour le 1er problème, c'est résolu.... grand Merci

Pour le deuxième, si je retire la civilité partout,à chaque fois que je vois la routine, quand je lance l'userform j'ai une erreur l'indice n'appartient pas à la sélection sur le combobox de la civilité _

OLi

Bonjour,

Mille excuses ... j'ai été trop rapide à dégainer ... j'ai tiré au côté ...

Il y a des implications.

Je reviens.

ric

Bonjour,

Un essai ...

Si tu recherches ( CTRL+F ) " ' ric ... ", tu trouveras les 4 autres places où j'ai effectué des changements.

Je te laisse vérifier s'il y a d'autres soucis...

ric

Rechercher des sujets similaires à "combobox nom prenom ligne"