Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Problème avec les macro

  • Initiateur de la discussion Initiateur de la discussion maneos
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

maneos

XLDnaute Nouveau
Bonjour,
J'ai décidé de me mettre à faire des macro pour simplifier un peu l'utilisation de Excel cependant ma macro n'a pas d'impact...je ne comprend pas....

Je cherche à appliquer une formule à la case H3 si seulement si je trouve dans les cellules de la colonne C le nom Dupond par exemple.
Par exemple si dans C7 il y a bien écrit le mon Dupond je veux me reporter à la case H7 et faire en H3 : H3 = sm - 7.5*valeur de H7...
J'ai donc écrit le code suivant :
For i = 7 To 20 'je travaille seulement sur plage de lignes
If (Cells(i, 3) = "Dupond") Then 'Si Dupond fait partie du projet
Worksheets("Sheet1").Range("H3") = "7.5 - 7.5 * Cells(i, 8)" 'On enlève le pourcentage qu'il doit effectuer pour le projet à son compte d'heure initial journalier
End If
Next i


Le problème c'est qu'il me dit qu'un indice n'est pas défini ou alors pas d'effet sur ma feuille de calcul...je bloque, est ce que quelqu'un aurait une idée ?*

Merci !
 
Re : Problème avec les macro

Ca marche ! Enfin,... disons que excel effectu un calcul et met le résultat dans la bonne cellule.
Cependant quelque soit la valeur de ma cellule (i,8) le résultat est toujours 3.75 .... ce n'est pas normal. Quel peut bien être le problème d'aprés vous ?
 
Re : Problème avec les macro

Bonjour le fil, bonjour le forum,

rajoute :
Code:
For i = 7 To 20
    If (Cells(i, 3) = "Dupond") Then
        Range("H3") = 7.5 - 7.5 * Cells(i, 8)
        [COLOR=red]Exit For[/COLOR]
    End If
Next i
 
Dernière édition:
Re : Problème avec les macro

ok en mettant Exit For, j'obtient le bon résultat.
Cependant il se peut que j'ai plusieurs lignes (i,3) avec "dupond", j'aimerai que le calcul de la somme se fasse au fur et à mesure qu'il rencontre "dupond" dans la colonne C.
Au départ j'ai un nombre initial d'heures dans H3 qui doit diminuer si la personne fait plusieurs choses dans la journée.
Je ne veux donc pas sortir de la boucle For dès qu'il a rencontré une fois "dupond"....
 
Re : Problème avec les macro

J'ai une idée pour contourner le problème mais elle doit être incomplete car elle ne marche pas....

While h <= 5
For i = j To 20
If (Cells(i, 3) = nom1) Then 'Si Dupond fait partie du projet
Range("H3") = sm1 - 7.5 * Cells(i, 8) 'On enlève le pourcentage qu'il doit effectuer pour le projet à son compte d'heure initial journalier
j = i + 1
Exit For
End If
Next i
h = h + 1
Wend
 
Re : Problème avec les macro

C'est bon j'ai résolu le problème en créant une variable et en lui demandant de faire les calculs dans une autre colonne au fur et à mesure :
For j = 8 To 92 Step 4
resultlv = 7.5 'nombre d'heure a faire le lundi et vendredi
For i = 9 To 20
If (Cells(i, 3) = nom1) Then 'Si Dupond fait partie du projet
Cells(i, 1) = resultlv - 7.5 * Cells(i, j) 'On enlève le pourcentage qu'il doit effectuer pour le projet à son compte d'heure initial journalier
a = Cells(i, 1)
resultlv = a
End If
Next i

For i = 9 To 20
If (Cells(i, 3) = nom1) Then 'Si Dupond fait partie du projet
Cells(3, j) = a 'on met dans la case du jour le total du temps travaillé ce jour la
End If
Next i

Next j


Merci beaucoup du coup de main !
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…