Famille de feuilles de calcul Microsoft avec des outils pour l’analyse, le graphique et la communication des données.
Bonjour Célestine,
Tout ce qu'on a sous le nez et qu'on ne voit pas!
Tant mieux si vous avez votre solution.
Cordialement
Ce navigateur n’est plus pris en charge.
Effectuez une mise à niveau vers Microsoft Edge pour tirer parti des dernières fonctionnalités, des mises à jour de sécurité et du support technique.
Bonjour,
Je débute actuellement en VBA Excel et j'ai un problème dans l'exécution de ma macro.
Voici le code:
Dim eff As Integer
Dim c As Integer
Dim j As Long
Dim ma_var As Integer
eff = 1
c = 2
'Je calcule le nombre de lignes non vide de mon fichier Excel, ce qui va me permettre de définir la dernière ligne de mon tableau.
Do While Cells(c, 1) <> ""
eff = eff + 1
c = c + 1
Loop
'Je cherche à caclculer un pourcentage de la ligne 2 à ma ligne eff.
For j = 2 To eff
Cells(j, 7) = Cells(j, 6) / Cells(j, 5)
Next j
Cependant, quand la fin de ma boucle est supérieur à 100, j'ai un message d'erreur: Dépassement de capacité.
J'ai essayé de changer les types de mes varaibles, mais cela ne donne rien.
Je sais que la question a été plusieurs fois posée mais je n'ai pas trouvé de réponse qui puisse être adapté à mon problème.
Merci d'avance pour votre aide.
Famille de feuilles de calcul Microsoft avec des outils pour l’analyse, le graphique et la communication des données.
Question verrouillée. Cette question a été migrée à partir de la Communauté Support Microsoft. Vous pouvez voter pour indiquer si elle est utile, mais vous ne pouvez pas ajouter de commentaires ou de réponses ni suivre la question.
Bonjour Célestine,
Tout ce qu'on a sous le nez et qu'on ne voit pas!
Tant mieux si vous avez votre solution.
Cordialement
Bon Célestine,
Merci de votre fichier; la division par zéro est interdite parce que mathématiquement elle donne un résultat infini...
Ce qui est bizarre, c'est qu'Excel ne vous l'ait pas dit (j'ai fait le test, il s'est arrêté et il m'a dit: #Div/0!)
Donc, évitez toujours un diviseur égal à 0!
Cordialement
Bonjour Célestin,
Lorsque vous ne définissez pas de type, les variables sont implicitement "Variant"; ça prend un peu plus de place mais si vous avez peu de variables, c'est sans conséquence.
Est-il possible d'avoir une copie d'écran au moment où l'erreur se produit?
Est-il possible que vos calculs dépassent ces limites:
Précision numérique 15 chiffres Plus petit chiffre négatif autorisé -2,2251E-308 Plus petit chiffre positif autorisé 2,2251E-308 Plus grand chiffre positif autorisé 9,99999999999999E+307 Plus grand chiffre négatif autorisé -9,99999999999999E+307 Cordialement
Bonjour Cloopy,
Voici une copie d'écran de mon programme avec l'erreur:
L'erreur se produit à la 190 lignes de mon programme.
Voici un exemple
Cells(j,6)/(Cells(j,5) = Cells(j,7)
Cells(j,6)=100,49 Cells(j,5)=7628,66
Du coup en Cells(j,7)=0,0131726935005624
Et c'est peut être tout ses chiffres que je stocke sur les 189 lignes précédentes qui cause mon erreur de capacité de stockage.
Cordialement,
Célestine
Bonjour Célestin,
Lorsque vous ne définissez pas de type, les variables sont implicitement "Variant"; ça prend un peu plus de place mais si vous avez peu de variables, c'est sans conséquence.
Est-il possible d'avoir une copie d'écran au moment où l'erreur se produit?
Est-il possible que vos calculs dépassent ces limites:
| Précision numérique | 15 chiffres |
|---|---|
| Plus petit chiffre négatif autorisé | -2,2251E-308 |
| Plus petit chiffre positif autorisé | 2,2251E-308 |
| Plus grand chiffre positif autorisé | 9,99999999999999E+307 |
| Plus grand chiffre négatif autorisé | -9,99999999999999E+307 |
Cordialement
Bonjour Célestin,
Il est probable que c'est votre déclaration de types de variables qui vous met dedans:
Cordialement
Bonjour Cloopy,
Je ne savais pas qu'il était possible de ne pas déclarer le type d'une variable.
Je le serais pour la prochaine fois.
L'erreur apparait même si je ne déclare pas de type.
Cordialement,
Célestin06