Incompatibilité de type sur une boucle [Résolu/Fermé]

Signaler
Messages postés
3
Date d'inscription
vendredi 6 mai 2016
Statut
Membre
Dernière intervention
7 mai 2016
-
Messages postés
3
Date d'inscription
vendredi 6 mai 2016
Statut
Membre
Dernière intervention
7 mai 2016
-
Bonjour,
n'étant pas As de la programmation, je bute sur une boucle avec une erreur d'exécution '13' : incompatibilité de type sur la ligne ValEuro = ValEuro + Qn * Pn
depuis des heures
ci-dessous un extrait de la macro :

Sub ()
...
Dim Pi As Variant, Qi As Variant
ValEuro = 0
For i = 1 To 25
With Sheets("Feuil1").Cells(16 + i, 5)
Qn = Cells(16 + i, 5).Value
Pn = Cells(16 + i, 5).Offset(0, 1).Value
ValEuro = ValEuro + Qn * Pn
Mtant_B = ValEuro * (655957 / 1000)
Mtant_R = Mtant_B - Mtant_H
End With
Next i
...
End sub

Merci d'avance pour aide.


2 réponses

Messages postés
16477
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
10 juin 2021
3 189
Bonjour,

sans voir le classeur...
Messages postés
3
Date d'inscription
vendredi 6 mai 2016
Statut
Membre
Dernière intervention
7 mai 2016

Merci pour ton intérêt michel_m.
Je viens de trouver la solution avec une formule conditionnelle :
En fait Qn allait au bout de la boucle à la ligne 25 alors que Pn s'arrêtait à la dernière ligne non vide. il fallait arrêter la récursivité des 2 variables sur la même ligne.

Sub ()
...
Dim Pn As Variant, Qn As Variant
ValEuro = 0
For i = 1 To 25
If Cells(16 + i, 5).Value <> 0 Or Cells(16 + i, 5).Value <> "" Then
Qn = Cells(16 + i, 5).Value
Pn = Cells(16 + i, 5).Offset(0, 1).Value
ValEuro = ValEuro + Qn * Pn
Mtant_B = ValEuro * (655957 / 1000)
Mtant_R = Mtant_B - Mtant_H
Else: End If
Next i
...
End sub

Merci encore