Insérer des lignes avec macro + condition
Résolu/Fermé
sofian_ovsky
Messages postés
17
Date d'inscription
samedi 3 février 2018
Statut
Membre
Dernière intervention
28 février 2023
-
17 sept. 2018 à 09:21
titeufdu89 Messages postés 374 Date d'inscription samedi 28 juillet 2012 Statut Membre Dernière intervention 1 avril 2023 - 17 sept. 2018 à 15:07
titeufdu89 Messages postés 374 Date d'inscription samedi 28 juillet 2012 Statut Membre Dernière intervention 1 avril 2023 - 17 sept. 2018 à 15:07
A voir également:
- Insérer des lignes avec macro + condition
- Excel cellule couleur si condition texte - Guide
- Insérer une vidéo sur powerpoint - Guide
- Insérer signature word - Guide
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Insérer liste déroulante excel - Guide
2 réponses
titeufdu89
Messages postés
374
Date d'inscription
samedi 28 juillet 2012
Statut
Membre
Dernière intervention
1 avril 2023
38
17 sept. 2018 à 09:51
17 sept. 2018 à 09:51
Bonjour,
Si j'ai bien compris, tu veux que la macro analyse chaque lignes de ton tableau et que lorsque les conditions sont respectés (à savoir que le mois soit égal au mois en cours et le statut actif) il ajoute une ligne au dessus de la ligne analysée et copie les information de la ligne encore au dessus?
Càd que si la macro analyse la ligne 5 par exemple et qu'elle correspond aux critères, on ajoute une ligne au dessus (la ligne 5 initiale se retrouvera être la ligne 6), et copier les éléments de la ligne 4 dans la ligne 5 en incrémentant le mois. Est-ce bien ce que tu souhaites?
Si j'ai bien compris, tu veux que la macro analyse chaque lignes de ton tableau et que lorsque les conditions sont respectés (à savoir que le mois soit égal au mois en cours et le statut actif) il ajoute une ligne au dessus de la ligne analysée et copie les information de la ligne encore au dessus?
Càd que si la macro analyse la ligne 5 par exemple et qu'elle correspond aux critères, on ajoute une ligne au dessus (la ligne 5 initiale se retrouvera être la ligne 6), et copier les éléments de la ligne 4 dans la ligne 5 en incrémentant le mois. Est-ce bien ce que tu souhaites?
titeufdu89
Messages postés
374
Date d'inscription
samedi 28 juillet 2012
Statut
Membre
Dernière intervention
1 avril 2023
38
Modifié le 17 sept. 2018 à 11:16
Modifié le 17 sept. 2018 à 11:16
Voici un code qui effectuera ce que tu souhaites. Par contre, il te faudra attendre le 1er de chaque mois pour lancer la macro car elle est programmée en fonction de la date du jour. Elle recherche les lignes en "actif" ayant comme mois le mois précédant au mois actuel. Si tu lances le 30 Septembre la macro, elle t'ajoutera les lignes d'Aout 2018... La macro prend également en considération les années ainsi elle ne renverra pas les éventuelles lignes d'Août 2017 par exemple.
Colle ce code soit dans un module soit dans la la feuille directement et tu peux créer un contrôle pour lancer la macro plus facilement
Bonne journée
Jc
Option Explicit Sub ajout_ligne() Application.ScreenUpdating = False Dim der As Double, i As Double, mois As Integer, annee As Double der = Range("A65536").End(xlUp).Row If Month(Date) = 1 Then annee = Year(Date) - 1 mois = 12 Else annee = Year(Date) mois = Month(Date) - 1 End If For i = der To 4 Step -1 'test si les conditions sont respectés If Month(Range("Q" & i)) = mois And Year(Range("Q" & i)) = annee And Range("P" & i) = "ACTIF" Then 'ajoute une ligne au dessus Rows("4:4").Insert Shift:=xlDown 'copie la ligne du dessous dans la nouvelle ligne Rows(i + 1).Copy Rows("4:4") Range("Q4") = DateSerial(Year(Date), Month(Date), 1) i = i + 1 End If Next i End Sub
Colle ce code soit dans un module soit dans la la feuille directement et tu peux créer un contrôle pour lancer la macro plus facilement
Bonne journée
Jc
sofian_ovsky
Messages postés
17
Date d'inscription
samedi 3 février 2018
Statut
Membre
Dernière intervention
28 février 2023
17 sept. 2018 à 14:38
17 sept. 2018 à 14:38
merci beaucoup titeufdu89
le code marche très bien.
bonne journée
le code marche très bien.
bonne journée
titeufdu89
Messages postés
374
Date d'inscription
samedi 28 juillet 2012
Statut
Membre
Dernière intervention
1 avril 2023
38
17 sept. 2018 à 15:07
17 sept. 2018 à 15:07
Super! ;-)
Pense a passer le statut du post en résolu, bonne continuation.
Bonne journée
Jc
Pense a passer le statut du post en résolu, bonne continuation.
Bonne journée
Jc
17 sept. 2018 à 10:15
si la ligne 5 correspond aux critères, on ajoute une ligne en dessus, et copié les valeurs de la ligne initiale (qui est devenue 6) sur la nouvelle ligne 5. ça c'est le principe.
mais ma macro, je veux qu'elle crée en haut du tableau directement l'ensemble des lignes qui correspondent aux critères.
c'est une opération que je veux effectuer 1 fois/mois, copier la liste et les détails des voitures qu'elle sont encore active pour le calcule du cout de la location.
merci à vous