Erreur : qualificateur incorrect

Bonsoir,

Je dois réaliser un projet excel VBA. J'ai la version 2013.

J'ai décidé de travailler sur un remplissage automatique d'un tableau pour comparer le prix du carburant. Pour faciliter le tout, il faut que j'introduise un formulaire dans mon projet et voici à quoi il ressemble pour le moment (je n'en suis qu'au début) ;

capture2

Mon problème se trouvant dans la seconde capture d'écran.

capture

Le bouton de commande correspond au bouton "Entrée", je ne comprends pas pourquoi l'erreur apparaît... Qu'est-ce que ça signifie ? Comment le résoudre pour cette fois-ci, et surtout pour les prochaines fois ? Car du coup, je ne peux pas vérifier si mes autres lignes sont correctes car ça ne lance pas la boucle

Merci d'avance !

Bonjour,

à tester,

Range("A" & Cells(Rows.Count, "A").End(xlUp).Row) = jour

Bonsoir,

le problème est que vous recherchez la première cellule non vide de la colonne A, cette recherche vous donne un numéro de ligne et vous essayez de donner une valeur à ce numéro de ligne !

VBA constate que le .Row n'a rien à faire ici pour une attribution de valeur !

Comme vous le montre i20100, il vous faut utiliser deux "range" dont l'un dépend du résultat de la recherche de l'autre, et alors là vous pouvez lui attribuer une valeur.

Par contre moi j'avais écris ceci :

Cells(Range("A65355").End(xlUp).Row + 1, 1).Value = jour

Avec un +1 afin d'écrire sur la ligne vide du dessous et non pas sur la dernière ligne non vide, ce qui écrase les données précédentes.

@ bientôt

LouReeD

Merci beaucoup pour vos réponses !

J'ai modifié le code et à priori ça fonctionne (pour la date) mais pas pour l'enseigne ceci-dit (j'ai remplacé le "A" de la formule de Lou par "B". Rien ne s'inscrit dans la colonne Enseigne. On ne peut peut-être pas faire ça ?)

J'ai néanmoins une dernière question ; je me doutais bien que le "IsString" n'était pas reconnu pour le coup (première ligne du second If), est-ce qu'il existe une appellation similaire ?

Merci encore,

Loyni.

J'ai néanmoins une dernière question ; je me doutais bien que le "IsString" n'était pas reconnu pour le coup (première ligne du second If), est-ce qu'il existe une appellation similaire ?

la syntaxe est

If Application.IsText(TextBox2.value) Then

mais comme c'est un Textbox c'est évidemment du texte

la syntaxe est

If Application.IsText(TextBox2.value) Then

mais comme c'est un Textbox c'est évidemment du texte

Merci ! Néanmoins, je me suis débrouillé autrement. En fait, je ne voulais pas qu'il y ait de nombre dans ce textbox, uniquement une chaîne de caractères ^^

J'ai modifié le code et à priori ça fonctionne (pour la date) mais pas pour l'enseigne ceci-dit (j'ai remplacé le "A" de la formule de Lou par "B". Rien ne s'inscrit dans la colonne Enseigne. On ne peut peut-être pas faire ça ?)

J'attends juste une dernière réponse pour ceci, sachant que j'ai avancé depuis ça m'embête bien. Est-ce parce que les variables ont le même nom ?

Bonsoir,

Cells(Range("B65355").End(xlUp).Row + 1, 2).Value = enseigne

La structure de l'objet Range "Cells" est la suivante :

Cells(valeur de la ligne , Valeur de la colonne)

Donc pour inscrire une donnée en colonne "B" il faut mettre "2" dans le deuxième paramètre.

C'est par "défaut" une structure inversée par rapport à l'objet Range "Range" qui lui par défaut prend une structure Colonne Ligne avec la colonne en alphanumérique : Range("A1").

@ bientôt

LouReeD

Merci beaucoup !

Ça devrait le faire pour le moment, je vais pouvoir attaquer autre chose

Rechercher des sujets similaires à "erreur qualificateur incorrect"