Probleme pour extraire des données lors de rupture de champs
Fermé
bajam454
Messages postés
1
Date d'inscription
mardi 29 novembre 2016
Statut
Membre
Dernière intervention
29 novembre 2016
-
29 nov. 2016 à 15:41
yg_be Messages postés 23485 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 8 mars 2025 - 29 nov. 2016 à 19:46
yg_be Messages postés 23485 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 8 mars 2025 - 29 nov. 2016 à 19:46
A voir également:
- Probleme pour extraire des données lors de rupture de champs
- Extraire une video youtube - Guide
- Extraire son video - Guide
- Supprimer les données de navigation - Guide
- Trier des données excel - Guide
- Reinstaller windows sans perte de données - Guide
4 réponses
f894009
Messages postés
17241
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
19 février 2025
1 713
29 nov. 2016 à 17:39
29 nov. 2016 à 17:39
Bonjour,
ma maccro fait le boulot mais uniquement sur le premier champ
Le premier champ c'est quoi, une colonne ou ...???
ma maccro fait le boulot mais uniquement sur le premier champ
Le premier champ c'est quoi, une colonne ou ...???
yg_be
Messages postés
23485
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
8 mars 2025
Ambassadeur
1 569
29 nov. 2016 à 19:21
29 nov. 2016 à 19:21
Comme ta macro copie des lignes complètes, je suppose que c'est la détection de rupture que tu veux changer en tenant compte de plusieurs colonnes.
Si c'est bien cela, tu pourrais modifier la ligne
en, par exemple :
Cela va détecter une rupture si il y a un changement dans la colonne A OU la colonne B.
Si c'est bien cela, tu pourrais modifier la ligne
If Range("A" & i) <> Range("A" & i + 1) Then
en, par exemple :
If (Range("A" & i) <> Range("A" & i + 1)) or (Range("B" & i) <> Range("B" & i + 1)) Then
Cela va détecter une rupture si il y a un changement dans la colonne A OU la colonne B.
yg_be
Messages postés
23485
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
8 mars 2025
Ambassadeur
1 569
29 nov. 2016 à 19:46
29 nov. 2016 à 19:46
Je propose ceci pour toujours garder et copier la première ligne dans chaque nouveau fichier. A toi de l'adapter à ton exemple.
bon boulot!
Option Explicit Sub Ruptures() Dim i, J Dim nom Dim original As Workbook, nouveau As Workbook Set original = ThisWorkbook nom = (ThisWorkbook.Name) i = 2 J = 2 While original.Sheets(1).Range("A" & i) <> "" If Range("A" & i) <> Range("A" & i + 1) Then Rows(J & ":" & i).Select Selection.Copy Set nouveau = Workbooks.Add Rows(2 & ":" & 2).Select ActiveSheet.Paste original.Sheets(1).Rows(1).Copy nouveau.ActiveSheet.Rows(1) ' C'est ici qu'il faut modifier le repertoire d'enregistrement souhaité ActiveWorkbook.SaveAs Filename:="C:\data\temp\" + CStr(Range("A" & 2)) Windows(nom).Activate Sheets(1).Select J = i + 1 End If i = i + 1 Wend End Sub
bon boulot!