VBA Appliquer une formule dans certaines cellules

  • Initiateur de la discussion Initiateur de la discussion jim7963
  • 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 !

jim7963

XLDnaute Junior
Bonjour à tous,

je fais appelle à vôtre savoir pour mettre la touche finale à ma macro de mise en forme d'un fichier exporté.
Il me manque une partie que je n'arrive pas à mettre en place.

Tout d'abord merci encore à Modeste pour le code qu'il m'a donné hier, je m'en suis largement inspiré pour celle-ci.

Je vous explique: dans ma feuille en colonne F j'ai des valeurs qui représentent le pourcentage de temps travaillé par une personne dans un service uniquement quand la cellule juste à côté en colonne G est vide.
Sinon la cellule indique une autre valeur qui ne nous intéresse pas pour le moment.
En colonne G est indiqué le coût total d'une personne.
Ce que je souhaite faire c'est que la cellule en colonne G à côté du pourcentage du temps travaillé soit valorisée de la façon suivante: coût total de la personne * % de temps travaillé par la personne dans le service.

Je comprends que mes explications ne sont pas très très claires, je vous joins donc un fichier avec un onglet avant et un onglet après application de la macro. Ce fichier contient également la macro que j'ai commencé à mettre en place mais qui ne fonctionne pas.

En vous remerciant par avance pour votre aide.
 

Pièces jointes

Re : VBA Appliquer une formule dans certaines cellules

Bonsoir jim,
Peux tu essayer ceci.
Bruno

Code:
Sub Application_formule()
  With ActiveSheet
    For Each c In .Range("F6:F" & .Range("F" & Rows.Count).End(xlUp).Row)
     x = Cells(c.Row, 7).End(xlDown).Value
        If c <> "" And c.Offset(0, 1) = "" Then _
            c.Offset(0, 1).Value = (c.Value * x) / 100
    Next c
  End With
End Sub
 
Re : VBA Appliquer une formule dans certaines cellules

Bonsoir Jim

De quoi inspirer ta réflexion.
Mais je suis un peu géné par le fait que tu insère des lignes vides entre tes matricules, j'ai donc mis un fin à la fin de tes données pour contrôler la fin de ces dernières.
On peu sans doute faire mieux!
 

Pièces jointes

Re : VBA Appliquer une formule dans certaines cellules

Merci beaucoup Youki, c'est parfait, exactement ce que je cherchais à faire.
Si tu peux juste m'expliquer à quoi sert le 7 dans la partie Cells(c.Row, 7).

Merci aussi du coup de main sousou. Les lignes vides ce n'est pas moi qui les insère, cela ressort comme ça lorsque je fais mon extraction Excel de mon logiciel.

Grâce à vous j'ai enfin pu mettre la touche finale à une macro qui devrait me faire faire un sacré gain de temps.
Encore merci à vous.
 
Re : VBA Appliquer une formule dans certaines cellules

Content de t'avoir retiré une épine du pied,
Explications:
Cells(ligne,colonne)
7 représente la colonne soit "G"
c.row N° ligne
Cells(c.row,"G") marche aussi
Souvent je remplace (xlup) par (3) mais pas facile de tous les mémoriser.
Bruno

Ps: je passe toutes mes vacances depuis longtemps au Cap d'Agde
 
- 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

  • Question Question
Microsoft 365 tableau d'alerte
Réponses
2
Affichages
102
Réponses
2
Affichages
78
Réponses
4
Affichages
109
Retour