Urgent travail :'( Vba probleme
Résolu
Glady994
Messages postés
447
Date d'inscription
Statut
Membre
Dernière intervention
-
Glady994 Messages postés 447 Date d'inscription Statut Membre Dernière intervention -
Glady994 Messages postés 447 Date d'inscription Statut Membre Dernière intervention -
Bonjourà tous,
J'essaie actuellement de créer une fonction qui additionne le résultat de deux colonnes ("Valeur total actuelle" et "valeur précédente" ) pour y inscrire ce résultat dans une troisième colonne ("Gain").
Pour le moment j'ai créer ceci :
Il y a un problème, le logiciel plante à chaque fois, quelqu'un sait-il pourquoi?
Merci d'avance !
J'essaie actuellement de créer une fonction qui additionne le résultat de deux colonnes ("Valeur total actuelle" et "valeur précédente" ) pour y inscrire ce résultat dans une troisième colonne ("Gain").
Pour le moment j'ai créer ceci :
Sub worksheet_change(ByVal Target As Range) Dim Valtot As Integer Dim Valpre As Integer Valtot = Cells(Target.Row, 2) Valpre = Cells(Target.Row, 6) Cells(Target.Row, 7) = Valtot - Valpre If Target.Column = 7 And Target.Value <> "" Then If Target.Value < 0 Then Cells(Target.Row, 7).Interior.ColorIndex = 3 ElseIf Target.Value > 0 Then Cells(Target.Row, 7).Interior.ColorIndex = 4 End If End If Dim com As Double Dim gai As Double com = Cells(Target.Row, 3) gai = Cells(Target.Row, 7) Cells(Target.Row, 8) = com * gai End Sub
Il y a un problème, le logiciel plante à chaque fois, quelqu'un sait-il pourquoi?
Merci d'avance !
A voir également:
- Urgent travail :'( Vba probleme
- France travail - Accueil - Confidentialité
- Plan de travail transparent illustrator ✓ - Forum Photoshop
- Travail en 12h planning aide soignante - Télécharger - Outils professionnels
- Travail en 2x7 - Forum Réseaux sociaux
- France travail code personnel 6 chiffres - Forum Réseaux sociaux
2 réponses
Bonjour,
Huumm.. J'essaie actuellement de créer une fonction qui additionne le résultat de deux colonnes
deux colonnes ou deux cellules ??, ton code ne s'applique qu'a une seule ligne et en plus c'est une ligne aléatoire ??
Tu n'a pas besoin de VBA pour faire ce que tu montre, des formules dans la feuille feront l'affaire.
A+
Huumm.. J'essaie actuellement de créer une fonction qui additionne le résultat de deux colonnes
deux colonnes ou deux cellules ??, ton code ne s'applique qu'a une seule ligne et en plus c'est une ligne aléatoire ??
Tu n'a pas besoin de VBA pour faire ce que tu montre, des formules dans la feuille feront l'affaire.
A+
Bonjour,
Je rejoins l'avis de lermite222 (bonjour à lui) : Pas besoin de VBA, 2 formules et une mise en forme conditionnelle suffisent.
Pour répondre à ta question :
Il y a un problème, le logiciel plante à chaque fois, quelqu'un sait-il pourquoi?
Le logiciel ne plante pas : il fait exactement ce que tu lui demande !!!
Tu as créé un appel récursif sans porte de sortie.
Lorsqu'on appuis sur Echap, le programme s'arrête, c'est donc qu'il n'est pas planté, mais qu'il boucle indéfiniment !!!
Lorsqu'on pratique la programmation événementielle, il faut être particulièrement vigilant à ne pas générer de boucle récursive sur l'évènement, c'est-à-dire qu'il faut veiller à ce que le code qui traite l'évènement ne génère pas lui-même cet évènement.
C'est ce qui se passe dans ton code :
Lorsque le code modifie le contenu d'une cellule, cela provoque l'évènement Change !
Tu devrais regarder comment on utilise la propriété EnableEvents de l'objet Application, cela devrait tu permettre de résoudre ton problème
Je rejoins l'avis de lermite222 (bonjour à lui) : Pas besoin de VBA, 2 formules et une mise en forme conditionnelle suffisent.
Pour répondre à ta question :
Il y a un problème, le logiciel plante à chaque fois, quelqu'un sait-il pourquoi?
Le logiciel ne plante pas : il fait exactement ce que tu lui demande !!!
Tu as créé un appel récursif sans porte de sortie.
Lorsqu'on appuis sur Echap, le programme s'arrête, c'est donc qu'il n'est pas planté, mais qu'il boucle indéfiniment !!!
Lorsqu'on pratique la programmation événementielle, il faut être particulièrement vigilant à ne pas générer de boucle récursive sur l'évènement, c'est-à-dire qu'il faut veiller à ce que le code qui traite l'évènement ne génère pas lui-même cet évènement.
C'est ce qui se passe dans ton code :
Lorsque le code modifie le contenu d'une cellule, cela provoque l'évènement Change !
Tu devrais regarder comment on utilise la propriété EnableEvents de l'objet Application, cela devrait tu permettre de résoudre ton problème