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 22696 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 17 avril 2024 - 29 nov. 2016 à 19:46
yg_be Messages postés 22696 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 17 avril 2024 - 29 nov. 2016 à 19:46
A voir également:
- Probleme pour extraire des données lors de rupture de champs
- Extraire video youtube - Guide
- Extraire son video - Guide
- Effacer les données de navigation - Guide
- Reinstaller windows sans perte de données - Guide
- Célia doit nettoyer le tableau ci-dessous pour l’ajouter à la base de données de son entreprise. les données sont ensuite traitées automatiquement. quelles sont les 4 cellules qui risquent de poser problème ? ✓ - Forum Excel
4 réponses
f894009
Messages postés
17185
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
15 avril 2024
1 701
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
22696
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
17 avril 2024
1 471
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
22696
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
17 avril 2024
1 471
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!