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 bénéficier 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é de support Microsoft. Vous pouvez voter pour savoir si c’est utile, mais vous ne pouvez pas ajouter de commentaires ou de réponses ou 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,
Comme je n'ai pas vos données, je vous envoie un exemple dans lequel je calcule dans la colonne I le rapport entre la colonne G et la colonne F;
Vous le trouverez à l'adresse suivante: http://dl.free.fr/mayum9i1Q
Le code VBA est:
Sub compar()
Nb_Lignes = Sheets(1).Range("a1").CurrentRegion.Rows.Count
For no_ligne = 2 To Nb_Lignes
Sheets(1).Range("i" & no_ligne) = IIf(Sheets(1).Range("f" & no_ligne) > 0, Sheets(1).Range("g" & no_ligne) / Sheets(1).Range("f" & no_ligne), 0)
Next no_ligne
End Sub
Je n'ai pas réussi a avoir un dépassement de capacité, mais si vous divisez 1000 000 000 000 000 000 par 0,000 000 000 000 000 001, par exemple, vous risquez d'y arriver.
Pour les spécifications selon les types de données voir https://msdn.microsoft.com/fr-fr/library/47zceaw7.aspx
En espérant vous être utile
Cordialement
Bonjour Célestin06,
Salutations
JJ
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 jCependant, 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.
Bonjour,
Donne un exemple des valeurs de Cells(j, 6) et Cells(j, 5) qui posent problème.
Cordialement.
Daniel