Erreur13 types incompatibles

  • Initiateur de la discussion Initiateur de la discussion steplof
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

S

steplof

Guest
Bonsoir

Quelqu'un peut il m'expliquer pourquoi la ligne ci-après me renvoie une erreur de type 13 Incompatibilité de type?
If Sheets(1).Range("b" & LigneSource & ":b" & LigneSource).Value = "p"_ Or "rst" Or "bet" Or "vt" Then

Moi j'arrive pas à voir

Merci de votre aide
 
Bon je précise vu que je viens de découvrir quelque chose:

j'ai cru comprendre que ma ligne ne me permet pas de comparer si la valeur dans la cellule b a la valeur p ou la valeur rst oula valeur bet ou la valeur vt?

alors comment ecris je en vb l'équivalent de
SI(OU(B18="P";B18="RST";B18="beT";B18="Vt");J18;0).

Merci de votre aide
Steplof qui cherche...
 
Salut StepLof,

Je ne sais pas ce que tu veux faire... Mais déjà sans chercher... Tu fais une erreur (probablement c'est la 13, "Jean Cé Rien" !!) mais une erreur tout de même... Et même 2 il me semble...

If Sheets(1).Range("b" & LigneSource & ":b" & LigneSource).Value

Cà c'est faux... Tu es en train de spécifier une "Array" qui aurait la même colonne et la même ligne... Donc déjà y a pas bon. Faudrait simplement :

If Sheets(1).Range("b" & LigneSource).Value.... Ce serait déja mieux...

Ensuite le If / Or ne peut pas être géré tel quel.... Il vaut mieux que tu essaies en créant une Variable String comme ceci : (pas fait de test)

VarValeur = Sheets(1).Range("b" & LigneSource).Value

If VarValeur = "p" or VarValeur = "rst" or VarValeur = "bet" or VarValeur = "vt" then
MsgBox "Pas de prstbetvt !!!"
End If

Je n'ai pas essayé... Mais je pense que ce devrait mieux fonctionner....

Dis moi
Dèjà la fin du Week End !!! Bonne fin de Dimanche
@+Thierry


PS vu que tu ne montre pas l'initialisation de "LigneSource", il faut impérativement que cette initialisation soit faite avant d'arriver à cette ligne... Sinon c'est encore une source d'erreur. De plus cette LigneSource ne doit retourner qu'une variable Integer ou Long (Num Entier)
 
Donc en fait c'est tout bête, tu viens de m'éclairer sur un truc, c'est qu'en fait j'avais adapté ton sub reportimpayé, mais moi j'avais pas besoin de reporter toute la ligne, juste des morceaux puis faie des opérations dessus ce que j'avais pas compris c'est que pour appeler juste une cellule Sheets(1).Range("b" & LigneSource).Value suffisait. 1

Enfin 2 c'était la syntaxe pour utiliser le or avec le if qui me manquait

ça je l'ai résolu avec un select case Sheets(1).Range("b" & LigneSource).Value

Case "p", "bet", "rst", "vt"

Else Case


End select

et ça marche!!

En tout cas merci.
Steplof qui apprend...
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

  • Question Question
Microsoft 365 Erreur de format
Réponses
5
Affichages
524
Réponses
5
Affichages
687
Retour