Bonjour,
1. Ces deux noms ne servaient à rien dans le fichier car dans le code que je vous ai proposé, on se sert uniquement du nom T_data qui reprend l'ensemble du tableau.
2. Dans votre dernier fichier votre premier problème c'est que la base de données n'est mise en forme en tableaux structurés. Donc ma proposition ne saurait pas fonctionner.
Pour le constater reprenez votre fichier que vous aviez posté en premier :
- allez sur votre feuille Base de données.
- cliquez dans une cellule du tableau
- allez dans formules --> Puis gestionnaire de noms
- là vous verrez un nom nommé T_Data qui correspond à la définition de votre tableau dans cette feuille
3. Normal, on dirait que votre userform2 est identique à l'userform 3 et c'est dans cette dernière que le rowsource était défini.
NB : Pour voir si vous avez une valeur dans rowsource,
- cliquez sur une combobox
- dans le menu VBA -> Affichage, cliquez sur Fenetre propriété (cela vous affiche la fenetre à gauche si elle n'y est déjà pas par défaut)
- allez dans les propriétés de l'objet
- descendez jusqu'à la valeur Rowsource et voyez si vous avez une donnée mentionnée.
4. Je vais revoir votre fichier pour la partie à problème mais de base vous pouvez déjà faire ceci dans votre feuille base de données
- sélectionnez la plage A1 à AB12
- Allez dans le menu Accueil
- Cliquez sur l'icone "Mettre sous forme de tableau"
- dans la fenêtre qui s'ouvre, cocher la case "mon tableau comporte des entetes (puisque l'on a sélectionné la ligne 1 des titres) puis OK --> cela va créer un nom automatiquement (ici Tableau1) dans le gestionnaire de noms
- Allez dans le gestionnaire de noms et
supprimez les valeurs T_data et aussi BDContacts
- cliquez sur le nom Tableau1 et renommez le
T_Data. A noter que vous pourriez aussi le nommer BDContacts
mais dans ce cas il faudra réadapter le code d'ouverture userform en changeant T_Data par BDContacts
- Allez dans votre userform2 et dans le code Private Sub UserForm
2_Initialize(), supprimez le chiffre 2. De manière générale, vous devez toujours avoir
Private Sub UserForm_Initialize() et ce, quelle que soit l'userform à ouvrir
- Puisque votre userform contient le code que je vous ai donné, il vous reste à exécuter le code pour ouvrir l'userform2...
Désolé si j'ai été si long....
Regardez si vous y arrivez sinon je vous posterai le fichier.
Si vous devez remettre à jour la feuille base de données et afin de bien repartir, dites moi d'abord si vous avez plus de lignes ou si vous n'en avez que 12 comme je le vois dans le fichier.