Erreur 13 : Incompatibilité de type

  • Initiateur de la discussion Initiateur de la discussion Pino12
  • 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 !

Pino12

XLDnaute Junior
Bonjour,

Je souhaite faire fonctionner une macro mais son exécution s’interrompt toujours pas l'erreur "incompatibilité de type".
Voici l'extrait douteux du code avec en rouge la zone de débogage indiquée par excel.
Pouvez-vous m'aider ?

c(2).Resize(h) = "=IFERROR(VLOOKUP(RC1,'" & ficha & f & "'!R4C1:R20000C22,21,0),0)"


If c(2).Resize(h) = 0 Then

For n = 0 To -10

c(2, 2).Resize(h) = "=IFERROR(VLOOKUP(RC1,'" & fichb & f & "'!R4C1:R20000C22,22,0),0)"


Exit For

c(2, 2).Resize (h) <> 0

Next

Else: c(2, 2).Resize(h) = "=IFERROR(VLOOKUP(RC1,'" & ficha & f & "'!R4C1:R20000C22,22,0),0)"

End If

End If
Next

Merci d'avance,
 
Re : Erreur 13 : Incompatibilité de type

Bonjour Pino12, hello Pierrot,

Normal, c(2).Resize(h) est une plage de hauteur h.

On ne peut pas la comparer à 0 ou à une autre valeur si h > 1.

La comparaison doit se faire sur une cellule.

A+
 
Re : Erreur 13 : Incompatibilité de type

Job 75 : Effectivement ça ne peut pas marcher dans ce cas.. Je viens d'essayer avec "For Each c(2).Resize(h)" puis un If, mais cela ne fonctionne pas non plus. Savez-vous s'il existe un connecteur semblable prenant en compte les plages ?

Pierrot 93 : Voici le code en entier, j'hésitais à le poster car il est assez long :

Dim f$, h&, c As Range, ficha$, fichb$, n As Long
f = "Ventes et Stocks Magasins"
h = Application.Match("TOTAL", [C:C], 0) - 9 'la hauteur du tableau peut varier

Application.ScreenUpdating = False
Application.DisplayAlerts = False 'si des fichiers n'existent pas

For Each c In Range("E8", Cells(8, Columns.Count).End(xlToLeft))
If c = "Vtes" Then

ficha = "H:\DC_01\Data Sharing\Semaines étudiées\[Litté S" & Val(Replace(c(0, 0), "Semaine", "")) & ".xlsx]"
fichb = "H:\DC_01\Data Sharing\Semaines étudiées\[Litté S" & Val(Replace(c(0, 0), "Semaine", "")) + n & ".xlsx]"

c(2).Resize(h) = "=IFERROR(VLOOKUP(RC1,'" & ficha & f & "'!R4C1:R20000C22,21,0),0)"

If c(2).Resize(h) = 0 Then

For n = 0 To -10

c(2, 2).Resize(h) = "=IFERROR(VLOOKUP(RC1,'" & fichb & f & "'!R4C1:R20000C22,22,0),0)"

Exit For

c(2, 2).Resize (h) <> 0

Next

Else: c(2, 2).Resize(h) = "=IFERROR(VLOOKUP(RC1,'" & ficha & f & "'!R4C1:R20000C22,22,0),0)"

End If

End If
Next

End Sub
 
- 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

Discussions similaires

Réponses
9
Affichages
580
Réponses
1
Affichages
520
Retour