Problème de boucle
roupille008
Messages postés
33
Date d'inscription
Statut
Membre
Dernière intervention
-
roupille008 Messages postés 33 Date d'inscription Statut Membre Dernière intervention -
roupille008 Messages postés 33 Date d'inscription Statut Membre Dernière intervention -
Salut tout le monde!
Alors voilà, il ne me reste plus qu'une petite maccro pour finir de traiter les données que j'ai. Bien entendu cette macro me prend pas mal la tête depuis maintenant une journée.
J'envoie d'abords le code et après je l'explique:
Le but de ce truc c'est que si deux cellules sont égales, alors une cellule prend pour valeur la moitié d'une cellule en plus de sa valeur initiale.
Ce qui m'embête c'est que ce machin tourne mais ça ne fait strictement rien. C'est pour ça que je pense que c'est une erreur à la *** du style ma boucle sur p n'est pa bien faite ou autre. (en fait c'est plus chiant quand on cherche le problème que quand on cherche la solution)
Voilà j'vous remercie d'avance.
Alors voilà, il ne me reste plus qu'une petite maccro pour finir de traiter les données que j'ai. Bien entendu cette macro me prend pas mal la tête depuis maintenant une journée.
J'envoie d'abords le code et après je l'explique:
Sub répartir_les_consos() Dim p As Integer Dim q As Integer Application.ScreenUpdating = False For p = 21591 To 2 Step -1 q = p - 8 'si les deux cellules sont égales, alors If Application.WorksheetFunction.And(Cells(p, 2) = Cells(q, 2), Cells(p, 4) = Cells(q, 4)) Then Cells(p, 6) = Cells(p, 6) + Cells(q, 5) * 0.5 Range("q:q").Delete End If Next p End Sub
Le but de ce truc c'est que si deux cellules sont égales, alors une cellule prend pour valeur la moitié d'une cellule en plus de sa valeur initiale.
Ce qui m'embête c'est que ce machin tourne mais ça ne fait strictement rien. C'est pour ça que je pense que c'est une erreur à la *** du style ma boucle sur p n'est pa bien faite ou autre. (en fait c'est plus chiant quand on cherche le problème que quand on cherche la solution)
Voilà j'vous remercie d'avance.
A voir également:
- Problème de boucle
- Xiaomi s'éteint tout seul et se rallume en boucle - Forum Xiaomi
- Boucle excel sans macro - Forum Excel
- Mon pc s'allume et s'éteint en boucle ✓ - Forum Matériel & Système
- Vlc lire en boucle ✓ - Forum Lecteurs et supports vidéo
- Problème xiaomi redmi note 8t s'allume et s'éteint vibre - Forum Xiaomi
1 réponse
Bonjour,
1) si tu mets Application.ScreenUpdating = False au debut de la macro, tu dois mettre Application.ScreenUpdating = True à la sortie
2) tu peux ecrire tout simplement
If (Cells(p, 2) = Cells(q, 2)) And (Cells(p, 4) = Cells(q, 4)) Then
3) tu ecrits q = p - 8
si p<=8 alors q<=0 et tu auras une erreur.
4) Pourquoi supprimer la colonne "Q" à chaque tour de boucle?
A+
1) si tu mets Application.ScreenUpdating = False au debut de la macro, tu dois mettre Application.ScreenUpdating = True à la sortie
2) tu peux ecrire tout simplement
If (Cells(p, 2) = Cells(q, 2)) And (Cells(p, 4) = Cells(q, 4)) Then
3) tu ecrits q = p - 8
si p<=8 alors q<=0 et tu auras une erreur.
4) Pourquoi supprimer la colonne "Q" à chaque tour de boucle?
A+
primo, écrire:
Ca correspond pas à la ligne? Je voudrais supprimer la ligne moi...
Deuxio,merci pour le screen update j'avais zappé.
tertio, pour l'instant ça marche mais en effet ça me supprime pas les lignes. (je veux supprimer celles dont la cellule qui m'intéresse s'ajoute à une autre cellule.)
Ca fait pas mal de boulette par ligne de code tout ça,^^
Merci, ça m'aide bien ta réponse.
Voilà, j'sais pas trop pourquoi il me supprime pas tout ce que je veux.
J'crois que c'est en supprimant la ligne, du coup ça me décale mes lignes et il me teste pas tout.
Je cherche de ce côté la.