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

Besoin d'aide pour une macro

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 !

romualdlecordier

XLDnaute Occasionnel
Bonjour à tous le Forum

Tout d'abord merci, pour votre aide à tous, ce site me permet de progresser en macro

Je n'arrive pas à réaliser une macro.

J'ai une feuille et j'aimerai faire une macro qui divise le chiffre de colonne M,V,W,X et Y par le nombre de jour travaillees par la personnes, une fois la division effectuée je voudrais que le resultat renseigne les lignes concernées.
Les personnes sont distinguées par son matricule qui se trouve en colonne D

Ex : pour le matricule 51000235 (colonne D) je voudrais qu'il divise les 2,5 de la colonne M par 5 nombre de jour travaillés pour ce matricule. Le resultat de cette division doit se mettre en ligne 2;3,4;5;6 de la colonne M

Merci d'avance pour votre aide

Romuald
romuald.lecordier@advisio-services.com
 

Pièces jointes

Re : Besoin d'aide pour une macro

Bonjour Romualdlecordier, bonjour le forum,

Tout d'abord merci, pour votre aide à tous, ce site me permet de progresser en macro

Mmmmhhh, vraiment 😕 ? Pour ton dernier post, tu "decouvrais" VBA et donc tu ne savais pas par quel bout commencer cette macro et on a fini par faire toute la macro...🙄

A lecture de ton nouveau post, je me suis dit:
"Tiens, il nous a concocte un petit bout de code... Youpi 😀😀😀! Voyons un peu tout ca... ".
Ah ma grande deception, il n'y a meme pas un module de cree sous VBA donc pas la moindre tentative de macro... 🙁

Mon dernier conseil reste d'actualite :

A bon entendeur... 😉

Bonne journee, 🙂
 
Dernière édition:
Re : Besoin d'aide pour une macro

Bonjour,

Quand je dis que j'ai progressé grâce au FORUM, c'est que aujourd'hui je peux faire des macros très simple.

Les macros remplacent les manipulations que l'on peux faire en plusieurs fois sous Excel par contre des qu'il faut aller rechercher des données c'est plus compliqué

Je ne post pas uniquement un cahier des charges mais j'essai en même temps d'apprendre comment vous réalisé vos macros

Sur ce fichier tu as rien dans le VBA car j'ai mis des couleurs et un exmeple donc je suis reparti d'un fichier propre

Demain, je te posterai mes essais si tu le désire. Ne pensez pas que je suis inactif à côté

Espérant avoir quand même votre aide...

Romuald
 
Re : Besoin d'aide pour une macro

Bonjour Romuald, Pedrag31,

Essaye le code suivant qui fonctionne pour la colonne "M". A adapter pour les autres colonnes.

Code:
Sub repart()
Dim tablo As Variant, N As Integer, i As Integer, j As Integer
Application.ScreenUpdating = False
Application.Calculation = xlCalculationManual
tablo = Sheets("FICHIER DE DEPART").Range("B3").CurrentRegion
N = 0
For i = 2 To UBound(tablo)
    If tablo(i, 3) = 7 Then
            For j = i - N To i - 1
                Cells(j, 13) = tablo(i, 13) / N
            Next j
        N = 0
    Else
    N = N + 1
    End If
Next i
Application.Calculation = xlCalculationAutomatic
Application.ScreenUpdating = True
End Sub

@+

Gael
 
Dernière édition:
Re : Besoin d'aide pour une macro

Bonjour Gael,

Merci pour cette macro, mais j'aimerai la comprendre peux tu m'expliquer exactement ce qu'elle fait afin que je puisse l'adapter pour les autres colonnes

Je veux comprendre et non que tu le fasse

Merci

Romuald
 
Re : Besoin d'aide pour une macro

Bonsoir Romuald,

Quelques explications:

Screenupdating et calculation ne sont là que réduire le temps de réponse.

Tablo... currentregion va créer un tableau en mémoire qui reprend exactement les données de ta feuille. La sélection se fait un peu comme Données - trier.

Ensuite, la boucle for va lire le tableau en mémoire. C'est un tableau qui se lit comme une feuille excel en ligne colonne.

Si on trouve le chiffre 7 en colonne 3, c'est un total sinon, on incrémente un compteur pour le nombre de lignes.

lorsqu'on est en total, on repart de i-N, i étant le n° de ligne atteint et N le nombre de lignes différentes de 7 jusqu'à i-1, la ligne avant le total et pour chacune de ces lignes, on écrit le résultat (total/N). On remet N à zéro et on continue jusqu'à la fin du tableau.

tablo(i, 13) contient le total de la colonne 13. Pour adapter à d'autres colonnes, il suffit de rajouter une ligne de code pour chacune des colonnes:

Code:
...Cells(j, 10) = tablo(i, 10) / N
Cells(j, 15) = tablo(i, 15) / N
Cells(j, 20) = tablo(i, 20) / N...

@+

Gael
 
- 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

Réponses
20
Affichages
966
Réponses
7
Affichages
1 K
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…