Graphique en VBA

Rebonjour,

1er problème :

Comme le titre l'indique, je cherche à créer un graphique. Il existe une tonne d'exemples sur le forum, mais je ne suis pas tombé sur ce que je cherchais...

En fait les données de mon graphes dépendent de paramètres, autrement dit les données peuvent aller, pour les abcisses de A1 à A15 comme de A1 à A152 par exemple. Je suis donc d'emblée bloqué pour la ligne

.SeriesCollection(1).XValues = F1.[A1:A15]

Comprenez qu'à la place du 15, il faudrait lui dire que c'est la dernière ligne non vide de ma colonne que je veux. Pour déterminer la dernière ligne, pas de problème, on m'a aidé il y a quelque jours sur ce forum. Ainsi j'ai une variable Derligne. J'aurais aimé l'utliser. Vous allez penser que c'est n'importe quoi mais le premier truc qui me venait à l'esprit c'est

.SeriesCollection(1).XValues = F1.[A1:ADerligne]

Bien sûr ADerligne ne veut rien dire, mais c'est l'idée !

2ème problème (pour éviter de rouvrir un sujet)

Pour supprimer des données de la première ligne à la dernière ligne pleine, j'ai utlisé ceci :

Sub effacer()
Dim i As Integer
Dim d As Integer

Set Ws = Worksheets("Feuil2")
    With Ws
    d = Worksheets(2).Range("A" & Rows.Count).End(xlUp).Row

For i = 12 To d Step 1
Worksheets(2).Range("A" & i).ClearContents
Worksheets(2).Range("B" & i).ClearContents
Worksheets(2).Range("C" & i).ClearContents
Worksheets(2).Range("D" & i).ClearContents
Worksheets(2).Range("E" & i).ClearContents
Worksheets(2).Range("F" & i).ClearContents
Worksheets(2).Range("G" & i).ClearContents
Next i
End With
End Sub

Ca utilise la variable Derligne appelée d ici pour faire plus court. Comme le nombre de colonnes est fixe (de A à G) je voulais savoir s'il n'était pas possible de simplifier cette procédure d'effacement en évitant d'avoir ces huit lignes...

Merci !

Bonjour,

Pour la question 2 (à tester):

Option Explicit
Public Sub effacer()
Dim i As Long, d As Long
    Application.ScreenUpdating = False
    Set ws = Worksheets("Feuil2")
    With ws
        d = .Range("A" & Rows.Count).End(xlUp).Row
        For i = 12 To d
            .Range("A" & i, "G" & i).ClearContents
        Next i
    End With
    Set ws = Nothing
End Sub

Pour la question 1:

Merci, ça fonctionne très bien pour la procédure d'effaçage

Je vous joins un fichier. Comme vous pouvez le voir, si on fait varier les valeurs des cases C5 et C8, la longueur de la colonne A va varier aussi. Je voudrais faire un graphe qui m'affiche la colonne des B en fonction des A après avoir fait apparaître les valeurs des colonnes A et B bien sûr...

J'en profite pour vous demander ce que signifie Option Explicit et Public Sub au début de chaque procédure. Personnellement je ne le

mets jamais, est-ce important ?

Merci

19classeur1.xlsm (20.07 Ko)

Re,

Option explicit implique la déclaration de toutes les variables.

Sub et public sub sont identiques.

Pour le graphique en VBA voir fichier pour une proposition...

Cdlt.

Re,

Oui c'est pas trop mal, merci. Par contre je voudrais la colonne B en fonction de A.

Apparemment c'est grâce à CurrentRegion qu'on lui dit jusqu'où aller donc ça suppose que les colonnes sont côte à côté non ? En fait j'ai posté un fichier simplifié mais dans ce que je veux faire comme graphe c'est la colonne A en abcisses et les colonnes F et G en ordonnées...

Merci !

Re,

Envoies donc un fichier représentatif et le type de graphique souhaité

Cdlt.

Bonjour,

Voilà mon fichier. Le problème maintenant c'est que les ordonnées se trouvent en F, les abcisses en A

Merci

Bonjour,

Voir fichier adapté.

A te relire.

Cdlt

nb : Est-il utile de conserver les 2 boutons 'NM Alpha' et 'Graphique XY', comme le bouton 'RAZ' par ailleurs?

Merci Jean-Eric, c'est très bien.

Pour les boutons, je comprends votre remarque, éventuellement je pourrais supprimer le bouton RAZ puisqu'il suffit d'appuyer sur le premier bouton pour actualiser les données.

D'ailleurs j'en profite pour poser une petite question "pratique ". Quand dans VBA on regarde les codes de la feuille 1, il n'y a que ceux correspondant aux trois boutons. Ensuite dans Module 1 vous avez tapé le code pour les procédures. Pourquoi avoir fait comme ça ? (c'est une simple curiosité pour comprendre comment ça fonctionne, moi en général je tape les codes dans la feuille correspondante)

Merci et bonne soirée

Re,

Bonsoir JC27 ou fgh789,

N'as-tu pas eu de réponse de XL downloads. Vérifies

Un petit bonjour amical à Staple1600

Plus sérieusement puisque nous avons de l'humour, sur ce forum :

1 - On peut supprimer les boutons Graphique XY et RAZ et intégrer dans une seule procédure. On efface tout et on recommence avec de nouvelles données.

2 - C'est un choix. Si je dois par exemple exporter le module. Dans le cas contraire contraire, je dois exporter la feuille...

Cdlt

Rechercher des sujets similaires à "graphique vba"