Erreur d'excution 13

Bonjour,

J'utilise un fichier (en PJ) dans lequel le bouton "cumul trimestriel" n'arrive pas tout le temps à exécuter la macro.

C'est un compteur de références.

Erreur d'éxecution 13

Incompatibilité de type.

Voici le code :

Sub CumulTrimestriel()

Set fb = Sheets("Base")

Set ft = Sheets("Trimestriel")

derln = fb.Range("B" & Rows.Count).End(xlUp).Row

rep = MsgBox("Voulez-vous cumuler ces quantités sur la feuille ''Trimestriel'' ?", 410)

If rep = 350 Then Exit Sub

For i = 5 To fb.Range("B" & Rows.Count).End(xlUp).Row

ft.Range("D" & i) = ft.Range("D" & i) + fb.Range("D" & i)

ft.Range("D" & i) = IIf(ft.Range("D" & i) = 0, "", ft.Range("D" & i))

Next i

Columns("D:D").Select

Selection.ClearContents

Columns("E:E").Select

Selection.ClearContents

Range("C3:C9,G1:G9").Select

Selection.ClearContents

End Sub

C'est sur la ligne de code soulignée que vient le bug selon le debuggeur.

Pourriez-vous m'aider ?

Que signifient les 410 et 350 ?

vous pouvez vous amuser avec le fichier il n'y a pas de souci.

Merci

Rom

Bonjour,

le problème provient de la ligne 400 sur base et trimestriel

l'operateur + est un opérateur d'addition, lorsque les 2 zones sont numériques ou de concaténation lorsque les 2 zones sont du texte.

sur cette ligne en trimestriel tu as un nombre et en Base tu as un texte "." ,le premier élément étant numérique, vba en déduit qu'il doit faire une addition, qui plante à cause du deuxième qui est un texte.

pour l'explication du 410 et du 350 je te renvoie à cette page

https://docs.microsoft.com/en-us/office/vba/language/reference/user-interface-help/msgbox-function

cependant d'après cette documentation si le 410 a une signification le 350 n'en a pas.

Ok je comprends mieux le problème.

Par contre cela devrait arriver à chaque fois or ce n'est pas le cas.

C'est là où j'ai vraiment un problème de compréhension.

bonsoir,

c'est l'explication pour ce fichier... sur base des éléments fournis, je ne peux pas en dire plus.

supprime le 1 en D400 et cela devrait fonctionner. Je ne sais comment le 1 est arrivé là.

Merci H2

J'avais cherché des trucs plus complexes et finalement c'est quelque chose de débutant.

J'ai honte

Merci pour tout

Bonjour,

J'ai à nouveau cette erreur qui apparait sur mon fichier.

Comment puis-je trouver dans quelle l'erreur se produit ?

Bonjour,

quand tu as l'erreur, tu rentres en mode débogage, tu positionnes le curseur sur la variable i dans cette instruction

ft.Range("D" & i) = ft.Range("D" & i) + fb.Range("D" & i)

la valeur affichée devrait te donner le numéro de la ligne qui contient des données incorrectes.

Merci Acide sulfurique.

Je viens de trouver.

Rechercher des sujets similaires à "erreur excution"