Erreur 13 Incompatibilité de type

Shinichi

XLDnaute Junior
[Résolu] Erreur 13 Incompatibilité de type

Bonjour,

Il y a quelques temps (quelques années!) on m'avait donné sur ce forum la macro suivante:

Private Function Trouver_Maxi(NomFeuille As String) As Byte

Dim Ws As Worksheet
Dim Numero As Byte, Indice As Byte, Max As Byte

For Each Ws In ThisWorkbook.Worksheets
Indice = 0
If InStr(1, Ws.Name, NomFeuille, vbTextCompare) > 0 Then

Do While IsNumeric(Right(Ws.Name, Indice + 1))
Indice = Indice + 1
Loop
If Indice > 0 Then Numero = Right(Ws.Name, Indice - 1)
If Numero > Max Then Max = Numero
End If
Next Ws
Trouver_Maxi = Max

End Function

J'ai passé la feuille excel à un ami pour qu'il utilise la macro que j'avais développé autour, et il a une erreur de de type (13) alors que chez moi ca marche très bien.
Le débogage le renvoi sur la ligne en gras.
J'ai testé sous Excel 2000, 2002 pas de problèeme. Lui est sous 2003 et cela semble bloquer... Savez vous comment résoudre ce petit souci?

Par avance merci

Bruno
 
Dernière édition:

gg13

XLDnaute Occasionnel
Re : Erreur 13 Incompatibilité de type

Bonjour le forum et Shinichi

Je ne peux pas t’aider, mais merci de la question j’ai le même problème
avec un programme qui tourne à l’étranger.
(Je ne peux malheureusement pas contrôler …trop loin)
J’attends une solution avec impatience.

Salut
gg13
 

Banzai64

XLDnaute Accro
Re : Erreur 13 Incompatibilité de type

Bonjour

A mon avis
Code:
Dim Numero As Byte, Indice As Byte, Max As Byte
.
.
.
If Indice > 0 Then Numero = Right(Ws.Name, Indice - 1)

Numero = Byte
ensuite tu veux lui affecter une chaîne de caractères

Code:
If Indice > 0 Then Numero = Val(Right(Ws.Name, Indice - 1))
 

Statistiques des forums

Discussions
312 539
Messages
2 089 406
Membres
104 163
dernier inscrit
Lolo37