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

Réalisation d'une macro

  • Initiateur de la discussion Initiateur de la discussion myla.baudry@hotmail.fr
  • 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 !

M

myla.baudry@hotmail.fr

Guest
Bonjour à tous

Je suis toute nouvelle sur ce Forum, Excel est pour moi un outils de travail

Je suis assistante de paie dans une entreprise de rammasage de dechets
Mon soucie est que je n'ai jamais été formée sur les macros et je n'y arrive pas trop à part les macros très très basique

Aujourd'hui, j'ai besoin de votre aide

J'ai un fichier Excel qui a été réalisé par une personne parti de l'entreprise et j'aimerai à partir de ce fichier pouvoir faire une macro qui va me donner un fichier bien défini au format csv pour pouvoir l'intégrer dans mon outil de gestion de paie

Je vous joint un fichier, avec en première feuille le fichier de Départ et sur la deuxième feuille le résultat souhaité avec les différente explication

En espérant avec été claire dans mes explications

Je vous remercie par avance de votre aide

Myla
 

Pièces jointes

Re : Réalisation d'une macro

Je pense que cela sera un très bon excercie pour toi pour te lancer dans les macros.
Un peu de manupulation de données pas trop compliquée.
par contre la conversion des dates,là je ne sais pas!
démarre ta macro et je t'aide après!
 
Re : Réalisation d'une macro

Bonjour Myla et bienvenue, Tatiana 🙂,
A tester 😛
Code:
Sub test()
Dim I As Long, Ligne As Long, J As Byte
Ligne = 1
With Sheets("F1")
    For I = 10 To .Range("A65536").End(xlUp).Row
        If .Range("A" & I) <> "" Then
            For J = 0 To 4
                Sheets("Feuil1").Range("A" & Ligne) = .Range("A" & I)
                Sheets("Feuil1").Range("B" & Ligne) = .Range("B" & I)
                Sheets("Feuil1").Range("C" & Ligne) = .Range("T5") + J
                Sheets("Feuil1").Range("D" & Ligne) = .Cells(I, 6 + J * 8)
                Sheets("Feuil1").Range("E" & Ligne) = .Cells(I, 9 + J * 8)
                If J = 4 Then
                    Sheets("Feuil1").Range("F" & Ligne) = .Range("AT" & I)
                    Sheets("Feuil1").Range("G" & Ligne) = .Range("AU" & I)
                    Sheets("Feuil1").Range("H" & Ligne) = .Range("AV" & I)
                Else
                    Sheets("Feuil1").Range("F" & Ligne) = 0
                    Sheets("Feuil1").Range("G" & Ligne) = 0
                    Sheets("Feuil1").Range("H" & Ligne) = 0
                End If
                Ligne = Ligne + 1
            Next J
        End If
    Next I
End With
End Sub
Bonne journée 😎
 
Re : Réalisation d'une macro

Bonjour

Effectivement cela fonctionne exactement mais pour que je puisse comprendre et que je puisse le refaire sur d'autre fichier Excel, peux tu me détailler ce que tu as fait ?

Je te remercie

Myla
 
Re : Réalisation d'une macro

Re 🙂,
Code:
With Sheets("F1")
permet de faire référence à la feuille avec un simple point ensuite, allègeant le code et le rendant plus conci.
Code:
.Range("A65536").End(xlUp).Row
permet, en partant de la dernière ligne (65536 pour du 2003) de remonter à la première case non vide au dessus et donc de savoir à quelle ligne s'arrêter.
Code:
If .Range("A" & I) <> "" Then
vérifie si il y a bien une valeur en colonne A (vu que ton fichier était plein de trous...)
Code:
For J = 0 To 4
sert à boucler sur les 5 jours de la semaine
Code:
Sheets("Feuil1").Range("D" & Ligne) = .Cells(I, 6 + J * 8)
le J*8 permet de se décaler d'autant de colonnes pour passer au jour suivant
Code:
Ligne = Ligne + 1
permet de descendre d'une ligne à chaque fois dans la feuille Feuil1.
Bise et bonne suite 😎
 
- 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
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

  • Question Question
Microsoft 365 CSV en EXCEL
Réponses
1
Affichages
199
Réponses
4
Affichages
255
Réponses
6
Affichages
322
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…