Comment insérer des lignes avec dates manquantes + Cf ci-dessous
Résolu/Fermé
Lionel
-
Modifié par Lionel le 23/10/2015 à 14:54
Frenchie83 Messages postés 2240 Date d'inscription lundi 6 mai 2013 Statut Membre Dernière intervention 11 août 2023 - 29 oct. 2015 à 14:35
Frenchie83 Messages postés 2240 Date d'inscription lundi 6 mai 2013 Statut Membre Dernière intervention 11 août 2023 - 29 oct. 2015 à 14:35
A voir également:
- Comment insérer des lignes avec dates manquantes + Cf ci-dessous
- Insérer une vidéo sur powerpoint - Guide
- Insérer signature word - Guide
- Insérer liste déroulante excel - Guide
- Insérer table des matières word - Guide
- Insérer filigrane word - Guide
5 réponses
Frenchie83
Messages postés
2240
Date d'inscription
lundi 6 mai 2013
Statut
Membre
Dernière intervention
11 août 2023
338
24 oct. 2015 à 09:34
24 oct. 2015 à 09:34
Bonjour
Essayez ceci
https://www.cjoint.com/c/EJyhIhgjaOw
Cdlt
Essayez ceci
https://www.cjoint.com/c/EJyhIhgjaOw
Cdlt
Frenchie83
Messages postés
2240
Date d'inscription
lundi 6 mai 2013
Statut
Membre
Dernière intervention
11 août 2023
338
26 oct. 2015 à 13:24
26 oct. 2015 à 13:24
Bonjour
Voici avec le 3ème paramètre
Cdlt
Voici avec le 3ème paramètre
Option Compare Text Sub Controle() Application.ScreenUpdating = False Param1 = "RENDU PLATEAU IF/PF/HE" Param2 = "RENDU PLATEAU Microscopie Electr" Param3 = "RENDU PLATEAU FISH" Param = Param1 DateJour = [A2] Deb: Set c = Columns("B").Find(Param, LookIn:=xlValues) If c Is Nothing Then Range("A" & [A10000].End(xlUp).Row + 1).Value = DateJour Range("B" & [A10000].End(xlUp).Row).Value = Param Range("C" & [A10000].End(xlUp).Row).Value = 0 End If If Param = Param3 Then Exit Sub If Param = Param2 Then Param = Param3 If Param = Param1 Then Param = Param2 GoTo Deb End Sub
Cdlt
LionelLAVERGNE
Messages postés
4
Date d'inscription
lundi 26 octobre 2015
Statut
Membre
Dernière intervention
29 octobre 2015
29 oct. 2015 à 10:47
29 oct. 2015 à 10:47
Merci ça fonctionne. Maintenant dernier problème.
Cette macro marche pour un jour donnée or j'en ai 5 (semaine de travail) sur ma feuille EXCEL exportée du soft.
2 possibilités:
1- séparer chaque jour sur un nouvel onglet et lancer cette macro.
PB --> Comment séparer par jour sachant que la date change chaque semaine?
2- modifier cette même macro pour quelle s'applique par date
PB --> Je n'ai pas la moindre idée de comment faire.
Dans tous les cas merci beaucoup pour le coup de main!
Cette macro marche pour un jour donnée or j'en ai 5 (semaine de travail) sur ma feuille EXCEL exportée du soft.
2 possibilités:
1- séparer chaque jour sur un nouvel onglet et lancer cette macro.
PB --> Comment séparer par jour sachant que la date change chaque semaine?
2- modifier cette même macro pour quelle s'applique par date
PB --> Je n'ai pas la moindre idée de comment faire.
Dans tous les cas merci beaucoup pour le coup de main!
Frenchie83
Messages postés
2240
Date d'inscription
lundi 6 mai 2013
Statut
Membre
Dernière intervention
11 août 2023
338
29 oct. 2015 à 13:16
29 oct. 2015 à 13:16
Bonjour
Voici, dans la restitution, j'insère une ligne vide entre chaque changement de date.
A tester.
Cdlt
Voici, dans la restitution, j'insère une ligne vide entre chaque changement de date.
A tester.
Option Compare Text Sub Controle() Application.ScreenUpdating = False Dim Param1Trouve As Boolean, Param2Trouve As Boolean, Param3Trouve As Boolean Dim Param1 As String, Param2 As String, Param3 As String Dim DerLig As Integer Param1 = "RENDU PLATEAU IF/PF/HE" Param2 = "RENDU PLATEAU Microscopie Electr" Param3 = "RENDU PLATEAU FISH" DerLig = [A100000].End(xlUp).Row For j = DerLig To 2 Step -1 DateJour = Cells(j, 1) If Cells(j, 2) = Param1 Then Param1Trouve = True If Cells(j, 2) = Param2 Then Param2Trouve = True If Cells(j, 2) = Param3 Then Param3Trouve = True If Cells(j, 1) <> Cells(j - 1, 1) Then For k = 1 To 4 Rows(j).Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove Next k If Param1Trouve = False Then Cells(j + 1, 1) = DateJour Cells(j + 1, 2) = Param1 Cells(j + 1, 3) = 0 If Param2Trouve = False Then Cells(j + 2, 1) = DateJour Cells(j + 2, 2) = Param2 Cells(j + 2, 3) = 0 If Param3Trouve = False Then Cells(j + 3, 1) = DateJour Cells(j + 3, 2) = Param3 Cells(j + 3, 3) = 0 End If End If End If End If Next j DerLig = [A100000].End(xlUp).Row For i = DerLig To 2 Step -1 If Cells(i, 1) = "" And Cells(i - 1, 1) = "" Then Cells(i, 1).EntireRow.Delete If Cells(i, 1) = "" And Cells(i + 1, 1) = Cells(i - 1, 1) Then Cells(i, 1).EntireRow.Delete Next i If Cells(2, 1) = "" Then Cells(2, 1).EntireRow.Delete End Sub
Cdlt
LionelLAVERGNE
Messages postés
4
Date d'inscription
lundi 26 octobre 2015
Statut
Membre
Dernière intervention
29 octobre 2015
29 oct. 2015 à 13:29
29 oct. 2015 à 13:29
Nombreuses lignes apparaissent en doublon.
Lundi :
Date Etape Nombre Type
19/10/2015 MISE EN CASSETTE 883 Blocs
19/10/2015 MISE EN HYPERCENTRE 855 Blocs
19/10/2015 INCLUSION 754 Blocs
19/10/2015 COUPE 804 Blocs
19/10/2015 RENDU PLATEAU MORPHO 989 Lames
19/10/2015 RENDU PLATEAU IHC 332 Lames
19/10/2015 RENDU PLATEAU IF/PF/HE 67 Lames
19/10/2015 RENDU PLATEAU IF/PF/HE 0
19/10/2015 RENDU PLATEAU Microscopie Electr 0
19/10/2015 RENDU PLATEAU FISH 0
19/10/2015 RENDU PLATEAU CYTO 61 Lames
Mardi
Date Etape Nombre Type
20/10/2015 MISE EN CASSETTE 925 Blocs
20/10/2015 MISE EN HYPERCENTRE 836 Blocs
20/10/2015 INCLUSION 841 Blocs
20/10/2015 COUPE 768 Blocs
20/10/2015 RENDU PLATEAU MORPHO 881 Lames
20/10/2015 RENDU PLATEAU IHC 234 Lames
20/10/2015 RENDU PLATEAU IF/PF/HE 0
20/10/2015 RENDU PLATEAU Microscopie Electr 0
20/10/2015 RENDU PLATEAU FISH 0
20/10/2015 RENDU PLATEAU CYTO 202 Lames
20/10/2015 RENDU PLATEAU IF/PF/HE 0
20/10/2015 RENDU PLATEAU Microscopie Electr 0
20/10/2015 RENDU PLATEAU FISH 0
20/10/2015 RENDU PLATEAU FISH 12 Lames
Mercredi
Date Etape Nombre Type
21/10/2015 MISE EN CASSETTE 693 Blocs
21/10/2015 MISE EN HYPERCENTRE 673 Blocs
21/10/2015 INCLUSION 830 Blocs
21/10/2015 COUPE 718 Blocs
21/10/2015 RENDU PLATEAU MORPHO 1003 Lames
21/10/2015 RENDU PLATEAU IHC 440 Lames
21/10/2015 RENDU PLATEAU IF/PF/HE 228 Lames
21/10/2015 RENDU PLATEAU IF/PF/HE 0
21/10/2015 RENDU PLATEAU Microscopie Electr 0
21/10/2015 RENDU PLATEAU FISH 0
21/10/2015 RENDU PLATEAU CYTO 121 Lames
Jeudi
Date Etape Nombre Type
22/10/2015 MISE EN CASSETTE 855 Blocs
22/10/2015 MISE EN HYPERCENTRE 822 Blocs
22/10/2015 INCLUSION 601 Blocs
22/10/2015 COUPE 861 Blocs
22/10/2015 RENDU PLATEAU MORPHO 1011 Lames
22/10/2015 RENDU PLATEAU IHC 386 Lames
22/10/2015 RENDU PLATEAU IF/PF/HE 103 Lames
22/10/2015 RENDU PLATEAU IF/PF/HE 0
22/10/2015 RENDU PLATEAU Microscopie Electr 0
22/10/2015 RENDU PLATEAU FISH 0
22/10/2015 RENDU PLATEAU CYTO 179 Lames
22/10/2015 RENDU PLATEAU IF/PF/HE 0
22/10/2015 RENDU PLATEAU Microscopie Electr 0
22/10/2015 RENDU PLATEAU FISH 0
22/10/2015 RENDU PLATEAU FISH 9 Lames
Vendredi
Date Etape Nombre Type
23/10/2015 MISE EN CASSETTE 829 Blocs
23/10/2015 MISE EN HYPERCENTRE 797 Blocs
23/10/2015 INCLUSION 759 Blocs
23/10/2015 COUPE 890 Blocs
23/10/2015 RENDU PLATEAU MORPHO 1037 Lames
23/10/2015 RENDU PLATEAU IHC 430 Lames
23/10/2015 RENDU PLATEAU IF/PF/HE 0
23/10/2015 RENDU PLATEAU Microscopie Electr 0
23/10/2015 RENDU PLATEAU FISH 0
23/10/2015 RENDU PLATEAU CYTO 170 Lames
23/10/2015 RENDU PLATEAU IF/PF/HE 0
23/10/2015 RENDU PLATEAU Microscopie Electr 0
23/10/2015 RENDU PLATEAU FISH 0
23/10/2015 RENDU PLATEAU FISH 58 Lames
Lundi :
Date Etape Nombre Type
19/10/2015 MISE EN CASSETTE 883 Blocs
19/10/2015 MISE EN HYPERCENTRE 855 Blocs
19/10/2015 INCLUSION 754 Blocs
19/10/2015 COUPE 804 Blocs
19/10/2015 RENDU PLATEAU MORPHO 989 Lames
19/10/2015 RENDU PLATEAU IHC 332 Lames
19/10/2015 RENDU PLATEAU IF/PF/HE 67 Lames
19/10/2015 RENDU PLATEAU IF/PF/HE 0
19/10/2015 RENDU PLATEAU Microscopie Electr 0
19/10/2015 RENDU PLATEAU FISH 0
19/10/2015 RENDU PLATEAU CYTO 61 Lames
Mardi
Date Etape Nombre Type
20/10/2015 MISE EN CASSETTE 925 Blocs
20/10/2015 MISE EN HYPERCENTRE 836 Blocs
20/10/2015 INCLUSION 841 Blocs
20/10/2015 COUPE 768 Blocs
20/10/2015 RENDU PLATEAU MORPHO 881 Lames
20/10/2015 RENDU PLATEAU IHC 234 Lames
20/10/2015 RENDU PLATEAU IF/PF/HE 0
20/10/2015 RENDU PLATEAU Microscopie Electr 0
20/10/2015 RENDU PLATEAU FISH 0
20/10/2015 RENDU PLATEAU CYTO 202 Lames
20/10/2015 RENDU PLATEAU IF/PF/HE 0
20/10/2015 RENDU PLATEAU Microscopie Electr 0
20/10/2015 RENDU PLATEAU FISH 0
20/10/2015 RENDU PLATEAU FISH 12 Lames
Mercredi
Date Etape Nombre Type
21/10/2015 MISE EN CASSETTE 693 Blocs
21/10/2015 MISE EN HYPERCENTRE 673 Blocs
21/10/2015 INCLUSION 830 Blocs
21/10/2015 COUPE 718 Blocs
21/10/2015 RENDU PLATEAU MORPHO 1003 Lames
21/10/2015 RENDU PLATEAU IHC 440 Lames
21/10/2015 RENDU PLATEAU IF/PF/HE 228 Lames
21/10/2015 RENDU PLATEAU IF/PF/HE 0
21/10/2015 RENDU PLATEAU Microscopie Electr 0
21/10/2015 RENDU PLATEAU FISH 0
21/10/2015 RENDU PLATEAU CYTO 121 Lames
Jeudi
Date Etape Nombre Type
22/10/2015 MISE EN CASSETTE 855 Blocs
22/10/2015 MISE EN HYPERCENTRE 822 Blocs
22/10/2015 INCLUSION 601 Blocs
22/10/2015 COUPE 861 Blocs
22/10/2015 RENDU PLATEAU MORPHO 1011 Lames
22/10/2015 RENDU PLATEAU IHC 386 Lames
22/10/2015 RENDU PLATEAU IF/PF/HE 103 Lames
22/10/2015 RENDU PLATEAU IF/PF/HE 0
22/10/2015 RENDU PLATEAU Microscopie Electr 0
22/10/2015 RENDU PLATEAU FISH 0
22/10/2015 RENDU PLATEAU CYTO 179 Lames
22/10/2015 RENDU PLATEAU IF/PF/HE 0
22/10/2015 RENDU PLATEAU Microscopie Electr 0
22/10/2015 RENDU PLATEAU FISH 0
22/10/2015 RENDU PLATEAU FISH 9 Lames
Vendredi
Date Etape Nombre Type
23/10/2015 MISE EN CASSETTE 829 Blocs
23/10/2015 MISE EN HYPERCENTRE 797 Blocs
23/10/2015 INCLUSION 759 Blocs
23/10/2015 COUPE 890 Blocs
23/10/2015 RENDU PLATEAU MORPHO 1037 Lames
23/10/2015 RENDU PLATEAU IHC 430 Lames
23/10/2015 RENDU PLATEAU IF/PF/HE 0
23/10/2015 RENDU PLATEAU Microscopie Electr 0
23/10/2015 RENDU PLATEAU FISH 0
23/10/2015 RENDU PLATEAU CYTO 170 Lames
23/10/2015 RENDU PLATEAU IF/PF/HE 0
23/10/2015 RENDU PLATEAU Microscopie Electr 0
23/10/2015 RENDU PLATEAU FISH 0
23/10/2015 RENDU PLATEAU FISH 58 Lames
Frenchie83
Messages postés
2240
Date d'inscription
lundi 6 mai 2013
Statut
Membre
Dernière intervention
11 août 2023
338
29 oct. 2015 à 13:38
29 oct. 2015 à 13:38
Ne connaissant pas la structure de votre fichier, j'ai été obligé de le créer d'après votre description, cependant, pour une question de commodité, il me serait plus facile d'avoir un extrait de votre fichier excel, nous gagnerions du temps et serions sûrs que cela fonctionnerait correctement.
Pour joindre votre fichier, allez sur www.cjoint.com, copiez le lien créé et coller ici dans votre prochaine réponse.
Merci
Pour joindre votre fichier, allez sur www.cjoint.com, copiez le lien créé et coller ici dans votre prochaine réponse.
Merci
LionelLAVERGNE
Messages postés
4
Date d'inscription
lundi 26 octobre 2015
Statut
Membre
Dernière intervention
29 octobre 2015
29 oct. 2015 à 13:47
29 oct. 2015 à 13:47
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Frenchie83
Messages postés
2240
Date d'inscription
lundi 6 mai 2013
Statut
Membre
Dernière intervention
11 août 2023
338
29 oct. 2015 à 14:35
29 oct. 2015 à 14:35
Voici,
Petite remarque, dans votre fichier, feuille "Import", l'étape "RENDU PLATEAU FISH" contient 2 espaces entre PLATEAU et FISH, j'en ai donc tenu compte dans la phrase suivante:
Param3 = "RENDU PLATEAU FISH
Cdlt
Petite remarque, dans votre fichier, feuille "Import", l'étape "RENDU PLATEAU FISH" contient 2 espaces entre PLATEAU et FISH, j'en ai donc tenu compte dans la phrase suivante:
Param3 = "RENDU PLATEAU FISH
Sub Controle() Application.ScreenUpdating = False Dim Param1Trouve As Boolean, Param2Trouve As Boolean, Param3Trouve As Boolean Dim Param1 As Variant, Param2 As Variant, Param3 As Variant Dim DerLig As Integer Param1 = "RENDU PLATEAU IF/PF/HE" Param2 = "RENDU PLATEAU Microscopie Electr" Param3 = "RENDU PLATEAU FISH" DerLig = [A100000].End(xlUp).Row Range("A1").Select ActiveWorkbook.Worksheets("Import").Sort.SortFields.Clear ActiveWorkbook.Worksheets("Import").Sort.SortFields.Add Key:=Range("A1"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortTextAsNumbers With ActiveWorkbook.Worksheets("Import").Sort .SetRange Range("A1:D" & DerLig) .Header = xlYes .MatchCase = False .Orientation = xlTopToBottom .SortMethod = xlPinYin .Apply End With For j = DerLig To 2 Step -1 DateJour = Cells(j, 1) If Cells(j, 2) = Param1 And Cells(j, 1) = DateJour Then Param1Trouve = True '"RENDU PLATEAU IF/PF/HE" If Cells(j, 2) = Param2 And Cells(j, 1) = DateJour Then Param2Trouve = True '"RENDU PLATEAU Microscopie Electr" If Cells(j, 2) = Param3 And Cells(j, 1) = DateJour Then Param3Trouve = True '"RENDU PLATEAU FISH" If Cells(j, 1) <> Cells(j - 1, 1) Then For k = 1 To 4 Rows(j).Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove Next k If Param1Trouve = False Then Cells(j + 1, 1) = DateJour Cells(j + 1, 2) = Param1 Cells(j + 1, 3) = 0 End If If Param2Trouve = False Then Cells(j + 2, 1) = DateJour Cells(j + 2, 2) = Param2 Cells(j + 2, 3) = 0 End If If Param3Trouve = False Then Cells(j + 3, 1) = DateJour Cells(j + 3, 2) = Param3 Cells(j + 3, 3) = 0 End If Param1Trouve = False Param2Trouve = False Param3Trouve = False End If Next j DerLig = [A100000].End(xlUp).Row For i = DerLig To 2 Step -1 If Cells(i, 1) = "" And Cells(i - 1, 1) = "" Then Cells(i, 1).EntireRow.Delete If Cells(i, 1) = "" And Cells(i + 1, 1) = Cells(i - 1, 1) Then Cells(i, 1).EntireRow.Delete Next i If Cells(2, 1) = "" Then Cells(2, 1).EntireRow.Delete End Sub
Cdlt
26 oct. 2015 à 12:17
Param1 = "RENDU PLATEAU IF/PF/HE"
Param2 = "RENDU PLATEAU Microscopie Electr"
Param3 = "RENDU PLATEAU FISH" (oublié dans l'exemple)
J'ai essayé de faire la correction par moi même je n'y arrive pas.
Merci pour le coup de main d'avance, je suis quasiment arrivé à résoudre mon problème grâce à toi
Merci+++