Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Combobox problème de format

recoverybis

XLDnaute Nouveau
Bonjour,

Je me permets de vous solliciter car pour ma base de données je viens de créer un formulaire de saisie avec un code très simple mais qui fonctionne partiellement. En effet, des messages d’erreurs s’affichent régulièrement et cible les Comboboxs jamais les mêmes d’ailleurs, mais avec une particularité commune à savoir que leur Rowsources sont des zones de noms dans lesquels se trouve des tarifs. Je sais ce n’est pas l’idéal donc pour qu’Excel attribue un format nombre voici le code Range("t" & L).Value = ComboBoxDF.Value * 1 mais ça plante régulièrement avec le message suivant : erreur d’exécution type 13 – incompatibilité de type. Ensuite dans ma BD, il y a le calcul conditionnel suivant : SI(B323="Madame";"F";SI(B323="Monsieur";"H";SI(B323="Monsieur et Madame";"C";""))) lorsque je saisis directement les données ça fonctionne mais dès lors que j’utilise le formulaire de saisie ça fonctionne de manière aléatoire. Voilà comme je suis loin d’être un expert en VBA, je me tourne vers les utilisateurs aguerris en espérant que l’un d’entre vous pourra me consacrer un peu de son temps afin de me sortir de cette impasse. je joins mon fichier
Mille merci par avance
 

Pièces jointes

  • Essai_TA_3 - Copie.xlsm
    232.1 KB · Affichages: 31

recoverybis

XLDnaute Nouveau
Un grand merci de m'avoir consacré un peu de votre temps ça fonctionne le code plante plus Ouf
reste à savoir pourquoi ma fonction Si ne fonctionne pas lorsque les Civilités sont rentrées depuis le formulaire

Cordialement
 

Roland_M

XLDnaute Barbatruc
re

à cause de ceci:
ComboBox1.List() = Array(" ", " Madame. ", " Monsieur ", " Monsieur et Madame ")

mais dans ton test Si (sur ta feuille) tu n'as pas d'espace ni de point !?
=SI(B323="Madame";"F";SI(B323="Monsieur";"H";SI(B323="Monsieur et Madame";"C";"")))

exemple " Monsieur " n'est pas = "Monsieur"
exemple " Madame. " n'est pas = "Madame"

il faut corriger comme ceci pour que ça corresponde au test
ComboBox1.List() = Array(" ", "Madame", "Monsieur", "Monsieur et Madame")
 
Dernière édition:

recoverybis

XLDnaute Nouveau
je viens de modifier le code comme préconiser par vos soins et ça fonctionne parfaitement.
Encore mille merci

Bien Cordialement
 

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…