Macro pour division d'une donnée sur plusieurs lignes
Résolu
Edoardo
Messages postés
8
Date d'inscription
Statut
Membre
Dernière intervention
-
Edoardo -
Edoardo -
Bonjour,
j'ai un tableau .xl dans lequel se trouvent une liste de dépenses avec, chacune, toute une série d'attributs (type, quantités, description etc).
Cela a donc le format qui suit :
"formation" en case A2; "soirées" en case B2 "62" en C2 etc
Puis en L2 apparait l'attribut période qui peut être un mois défini (janv/fev etc.) ou "année" lorsque cela ne peut pas être réparti sur un mois précis.
J'aimerais intégrer une macro qui :
- analyserait les différentes lignes et, lorsque l'attribut "année" apparaît en colonne L, créérait 12 nouvelles lignes avec exactement les mêmes attributs sauf : le montant qui serait divisé par 12 et "année" qui deviendrait donc janvier/février/mars etc.
Sauriez-vous m'aider ?
https://www.cjoint.com/?DJErkiu7CbR
Merci d'avance pour votre aide !
j'ai un tableau .xl dans lequel se trouvent une liste de dépenses avec, chacune, toute une série d'attributs (type, quantités, description etc).
Cela a donc le format qui suit :
"formation" en case A2; "soirées" en case B2 "62" en C2 etc
Puis en L2 apparait l'attribut période qui peut être un mois défini (janv/fev etc.) ou "année" lorsque cela ne peut pas être réparti sur un mois précis.
J'aimerais intégrer une macro qui :
- analyserait les différentes lignes et, lorsque l'attribut "année" apparaît en colonne L, créérait 12 nouvelles lignes avec exactement les mêmes attributs sauf : le montant qui serait divisé par 12 et "année" qui deviendrait donc janvier/février/mars etc.
Sauriez-vous m'aider ?
https://www.cjoint.com/?DJErkiu7CbR
Merci d'avance pour votre aide !
A voir également:
- Macro pour division d'une donnée sur plusieurs lignes
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Écrire plusieurs lignes dans une cellule excel mac - Guide
- Jitbit macro recorder - Télécharger - Confidentialité
- Comment diviser une photo en 3 pour instagram - Guide
- Télécharger macro convertir chiffre en lettre excel - Télécharger - Tableur
8 réponses
Voici le code.
Essaye le au préalable sur une copie de ton fichier.
Si trop lent ou en cas d'erreur, reviens me dire ce qu'il en est...
Essaye le au préalable sur une copie de ton fichier.
Si trop lent ou en cas d'erreur, reviens me dire ce qu'il en est...
Option Explicit Sub Annee_Mois() Dim Tb_Donnees(), Lig As Long, DLig As Long, Lignes As Integer DLig = Range("A" & Rows.Count).End(xlUp).Row Tb_Donnees = Range("A2:O" & DLig).Value For Lig = UBound(Tb_Donnees) To LBound(Tb_Donnees) Step -1 If Tb_Donnees(Lig, 10) <> "A ENGAGER" And UCase(Tb_Donnees(Lig, 14)) = "ANNEE" Then Rows(Lig + 2 & ":" & Lig + 12).Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove For Lignes = 1 To 12 Cells(Lig + Lignes, 1) = Tb_Donnees(Lig, 1) Cells(Lig + Lignes, 2) = Tb_Donnees(Lig, 2) Cells(Lig + Lignes, 3) = Tb_Donnees(Lig, 3) Cells(Lig + Lignes, 4) = Tb_Donnees(Lig, 4) Cells(Lig + Lignes, 5) = Tb_Donnees(Lig, 5) Cells(Lig + Lignes, 6) = Tb_Donnees(Lig, 6) Cells(Lig + Lignes, 7) = Tb_Donnees(Lig, 7) Cells(Lig + Lignes, 8) = Tb_Donnees(Lig, 8) Cells(Lig + Lignes, 9) = Tb_Donnees(Lig, 9) Cells(Lig + Lignes, 10) = Tb_Donnees(Lig, 10) / 12 Cells(Lig + Lignes, 11) = Tb_Donnees(Lig, 11) Cells(Lig + Lignes, 12) = Tb_Donnees(Lig, 12) Cells(Lig + Lignes, 13) = Tb_Donnees(Lig, 13) Cells(Lig + Lignes, 14) = UCase(Format(DateSerial(2014, Lignes, 1), "mmmm")) Cells(Lig + Lignes, 15) = Tb_Donnees(Lig, 15) Next End If Next End Sub
Edoardo
Bonjour, je dois désormais ajuster ma répartition du poste "année" non pas sur 12 mois mais uniquement sur les mois a venir (avril à décembre) : existe-t'il une façon d'ajuster le code dans ce but ?
Bonjour,
Pour transmettre un fichier, il faut passer par un site de pièce jointe tel que cjoint.com
Va sur ce site : https://www.cjoint.com/
Clic sur parcourir,
Cherche ton fichier,
clic sur ouvrir,
Clic sur "Créer le lien cjoint",
Copier le lien,
Revenir ici le coller dans une réponse...
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Bonjour,
J'ai regardé votre fichier, il ne correspond pas à ce que l'on attend. Il faudrait qu'il soit constitué d'une cinquantaine de lignes et de la même manière que votre fichier actuel. Nul besoin de nous mettre ce que vous attendez de la macro, ça nous avons compris.
De plus, il nous faut savoir ou se situent les mots "ANNEE". Peut-on le trouver entre deux mois autres que Décembre et Janvier?
EDIT : en clair le fichier transmis doit être conforme à votre fichier, dans son état actuel. Mais sans données confidentielles...
🎼 Cordialement,
Franck 🎶
J'ai regardé votre fichier, il ne correspond pas à ce que l'on attend. Il faudrait qu'il soit constitué d'une cinquantaine de lignes et de la même manière que votre fichier actuel. Nul besoin de nous mettre ce que vous attendez de la macro, ça nous avons compris.
De plus, il nous faut savoir ou se situent les mots "ANNEE". Peut-on le trouver entre deux mois autres que Décembre et Janvier?
EDIT : en clair le fichier transmis doit être conforme à votre fichier, dans son état actuel. Mais sans données confidentielles...
🎼 Cordialement,
Franck 🎶
Merci beaucoup pour votre réponse.
Voici le nouveau fichier : il est conforme à cela près que mon fichier comporte un millier de lignes contre l'échantillon joint.
Et, oui, "année" peut apparaître à n'importe quel moment dans la colonne "Mois".
https://www.cjoint.com/?DJFknkoR1LP
Voici le nouveau fichier : il est conforme à cela près que mon fichier comporte un millier de lignes contre l'échantillon joint.
Et, oui, "année" peut apparaître à n'importe quel moment dans la colonne "Mois".
https://www.cjoint.com/?DJFknkoR1LP