OVH Cloud OVH Cloud

Boucle

1 réponse
Avatar
KaZaLas
Bonjour =E0 tous,

Je cherche =E0 automatiser la cr=E9ation de graphique dans Excel.
J'ai une feuille excel avec des donn=E9es de ce type :

Q=2E ssddazd
fddsf 12
dsfsd 88

Q=2E ssddazd
fddsf 45 45
dsfsd 55 55

Les donn=E9es sont toutes d=E9limit=E9es par "Q." en colonne 1 qui indique
un nouveau bloc de donn=E9es. Je dois cr=E9er un graphique pour chaque
bloc de donn=E9es.

J'ai cr=E9=E9 une macro pour s=E9lectionner chaque bloc de donn=E9es et
cr=E9=E9 un graphique sur une nouvelle page. La voici :

Sub Graphiques()

'Recherche les donn=E9es

Cells.Find(What:=3D"Q.", After:=3DActiveCell, LookIn:=3DxlFormulas,
LookAt:=3D _
xlPart, SearchOrder:=3DxlByRows, SearchDirection:=3DxlNext,
MatchCase:=3DFalse) _
.Activate

'S=E9lectionne les donn=E9es

ActiveCell.Offset(1, 0).Select
Range(Selection, Selection.End(xlDown)).Select
Range(Selection, Selection.End(xlToRight)).Select

Set donne =3D Selection

'Cr=E9=E9e le graphique

Charts.Add
ActiveChart.SetSourceData Source:=3Ddonne
ActiveChart.Location Where:=3DxlLocationAsNewSheet
ActiveSheet.Next.Select

Sheets("Feuil1").Select


End Sub

La recherche marche tr=E8s bien. La macro trouve le premier bloc de
donn=E9es et cr=E9=E9 le graphique dans une nouvelle feuille. Sauf que je
n'arrive pas =E0 reprendre la recherche l=E0 o=F9 elle s'est arr=EAt=E9e
apr=E8s avoir cr=E9er ce graphique.

J'ai essay=E9 de faire une boucle for/next et =E7a me cr=E9=E9 des
graphiques =E0 l'infini. Donc j'ai essay=E9 avec Do/Loop until mais je
n'arrive pas =E0 arr=EAter la recherche en derni=E8re cellule de la
Colonne A.

En ce joli dimanche ensoleill=E9, y aurait-il une =E2me charitable pour
me sauver du d=E9sespoir ?
Merci par avance pour vos conseils avis=E9s !=20

Cordialement,

1 réponse

Avatar
Daniel
Bonjour.
Insère ton code entre :
do while activecell.row <= range("A65536").end(xlup).row
et
loop
Pas testé, mais ça devrait le faire.
Cordialement.
Daniel
"KaZaLas" a écrit dans le message de news:

Bonjour à tous,

Je cherche à automatiser la création de graphique dans Excel.
J'ai une feuille excel avec des données de ce type :

Q. ssddazd
fddsf 12
dsfsd 88

Q. ssddazd
fddsf 45 45
dsfsd 55 55

Les données sont toutes délimitées par "Q." en colonne 1 qui indique
un nouveau bloc de données. Je dois créer un graphique pour chaque
bloc de données.

J'ai créé une macro pour sélectionner chaque bloc de données et
créé un graphique sur une nouvelle page. La voici :

Sub Graphiques()

'Recherche les données

Cells.Find(What:="Q.", After:¬tiveCell, LookIn:=xlFormulas,
LookAt:= _
xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext,
MatchCase:úlse) _
.Activate

'Sélectionne les données

ActiveCell.Offset(1, 0).Select
Range(Selection, Selection.End(xlDown)).Select
Range(Selection, Selection.End(xlToRight)).Select

Set donne = Selection

'Créée le graphique

Charts.Add
ActiveChart.SetSourceData Source:=donne
ActiveChart.Location Where:=xlLocationAsNewSheet
ActiveSheet.Next.Select

Sheets("Feuil1").Select


End Sub

La recherche marche très bien. La macro trouve le premier bloc de
données et créé le graphique dans une nouvelle feuille. Sauf que je
n'arrive pas à reprendre la recherche là où elle s'est arrêtée
après avoir créer ce graphique.

J'ai essayé de faire une boucle for/next et ça me créé des
graphiques à l'infini. Donc j'ai essayé avec Do/Loop until mais je
n'arrive pas à arrêter la recherche en dernière cellule de la
Colonne A.

En ce joli dimanche ensoleillé, y aurait-il une âme charitable pour
me sauver du désespoir ?
Merci par avance pour vos conseils avisés !

Cordialement,