Vba selection données dans une colonne
jmerillon
Messages postés
1
Statut
Membre
-
michel_m Messages postés 18903 Date d'inscription Statut Contributeur Dernière intervention -
michel_m Messages postés 18903 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour,
je débute dans le forum et dans vba... bonjour les dégâts...
je m'explique j'ai une série de données dans une colonne excel (25000 lignes)
Toutes les 200 ou 300 lignes la série se réinitialise, mais le nombre de lignes est variable, par contre, chaque fin de série est suivie d'un commentaire "dispensed...", j'ai donc ajouté une ligne vide sous chaque commentaire afin de les dissocier...
je souhaite récupérer ces données en dissociant bien chaque série afin d'en tirer des graphiques.
voila ce que j'ai fais pour l'instant en épluchant les forums :
Range("A1").Select
Do While Not (IsEmpty(ActiveCell)) 'jusqu'a la derniere cellule non vide
Cells.Find(What:="dispensed time", After:=ActiveCell, LookIn:=xlFormulas _
, LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
MatchCase:=False, SearchFormat:=False).Activate 'chercher dispensed time
Selection.EntireRow.Insert ' selection ligne active
ActiveCell.Offset(2, 0).Activate ' decaler de 2 lignes vers le bas
Loop
cela me permet juste d'ajouter cette ligne vierge, mais je ne sais pas comment faire une sélection jusqu'à cette ligne...
quelqu'un peut il m'aider
je débute dans le forum et dans vba... bonjour les dégâts...
je m'explique j'ai une série de données dans une colonne excel (25000 lignes)
Toutes les 200 ou 300 lignes la série se réinitialise, mais le nombre de lignes est variable, par contre, chaque fin de série est suivie d'un commentaire "dispensed...", j'ai donc ajouté une ligne vide sous chaque commentaire afin de les dissocier...
je souhaite récupérer ces données en dissociant bien chaque série afin d'en tirer des graphiques.
voila ce que j'ai fais pour l'instant en épluchant les forums :
Range("A1").Select
Do While Not (IsEmpty(ActiveCell)) 'jusqu'a la derniere cellule non vide
Cells.Find(What:="dispensed time", After:=ActiveCell, LookIn:=xlFormulas _
, LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
MatchCase:=False, SearchFormat:=False).Activate 'chercher dispensed time
Selection.EntireRow.Insert ' selection ligne active
ActiveCell.Offset(2, 0).Activate ' decaler de 2 lignes vers le bas
Loop
cela me permet juste d'ajouter cette ligne vierge, mais je ne sais pas comment faire une sélection jusqu'à cette ligne...
quelqu'un peut il m'aider
A voir également:
- Vba selection données dans une colonne
- Fuite données maif - Guide
- Déplacer une colonne excel - Guide
- Trier une colonne excel - Guide
- Colonne word - Guide
- Excel additionner une colonne - Guide
3 réponses
suppose que les données commencent en A4
<gras>Range("a4").Select ' se place sur la cellule A4 et la sélectionne
Range(Selection, Selection.End(xlDown)).Select</gras>
( revient à faire shift+ flêche bas + fin)
ta plage est sélectionnée
A+
<gras>Range("a4").Select ' se place sur la cellule A4 et la sélectionne
Range(Selection, Selection.End(xlDown)).Select</gras>
( revient à faire shift+ flêche bas + fin)
ta plage est sélectionnée
A+
Salut,
Je ne sais pas si j'ai bien saisi ta demande, j'ai cru comprendre que toutes tes données sont dans la col 1 et donc plusieurs séries de données dans cette même colonne à transformer en plusieurs graph ...?
Si c'est bien le cas, il faut déjà que tu intègres des variables dans ton code pour délimiter les 1ere et dernière ligne pour chaque série...et intégrer un code de créa graph dans ta boucle...
Quel type de données as tu , quel type de graph veux tu ? si tu as un fichier, j'y jetterai un oeil.
@+
Je ne sais pas si j'ai bien saisi ta demande, j'ai cru comprendre que toutes tes données sont dans la col 1 et donc plusieurs séries de données dans cette même colonne à transformer en plusieurs graph ...?
Si c'est bien le cas, il faut déjà que tu intègres des variables dans ton code pour délimiter les 1ere et dernière ligne pour chaque série...et intégrer un code de créa graph dans ta boucle...
Quel type de données as tu , quel type de graph veux tu ? si tu as un fichier, j'y jetterai un oeil.
@+
Bonjour,
cette macro écrit en feuille 2 les séries dans une colonne chacine
cette macro écrit en feuille 2 les séries dans une colonne chacine
Sub dissocier_series()
Dim lig As Integer, lig2 As Integer, cptr As Integer
Application.ScreenUpdating = False
With Sheets(1)
nbre = Application.CountIf(.Columns(1), "dispensed time")
lig = 1
For cptr = 1 To nbre
lig2 = .Columns(1).Find("dispensed time", .Cells(lig, 1), xlValues).Row
Sheets(2).Cells(2, cptr).Resize(lig2 - (lig + 1), 1) = .Range(.Cells(lig + 1, 1), .Cells(lig2 - 1, 1)).Value
lig = lig2
Next
End With
End Sub