Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Sélection multiple en VBA

14 réponses
Avatar
fredau
Bonjour,
Pour déboucher sur un graphique, j'ai un petit tableau de 20 lignes et 2
colonnes avec les valeurs d'abcisses (Texte) dans la 1ère colonne et des
valeurs numériques en ordonnées.
Mon tableau comporte rarement 20 valeurs d'abcisses. Je souhaite que la
macro créant le graphique permette de ne représenter que des valeurs
d'abcisses existantes (S'il n'y a que 5 valeurs, le graphe en histogramme ne
doit comporter que 5 barres, s'il y en a 12 le graphique a 12 barres).
Mon nombre de valeurs est déjà recueilli dans une cellule, ce qui me
permettrait de faire une boucle FOR dans ma macro afin de ne sélectionner que
les cellules contenant des valeurs.
Merci d'avance pour la réponse, qui doit sûrement être évidente mais en
recherchant "extension sélection" sur le site je n'ai pas trouvé ma vie.

4 réponses

1 2
Avatar
fredau
Merci à daniel.C, c'est magique! J'ai commencé à regarder de plus près, je
n'ai pas encore tout compris mais c'est exactement ce que je voulais. Je
pensais que la solution passait par une macro mais c'est encore mieux comme
cela car je vais pouvoir améliorer la présentation du graphique puisque
celui-ci est actualisé à chaque modification de données.
Merci aussi à Tatanka bien que la macro (même la 2ème) ne fonctionne pas. à
l'instruction " ActiveSheet.Paste Link:=True ", cela me met tout mon
tableau à 0 et un petit peu plus loin ça arrête la macro et me renvoie au
déboggueur.
Jeune retraité (Depuis début Juillet) je vais avoir plus de temps pour
programmer, je pense que j'irai souvent sur ce forum pour progresser mais
aussi ( et cela grâce à vous ) peut-être parfois pour venir en aide à
d'autres "Excelmaniaques" sur des sujets plus simples que ceux que vous-mêmes
êtes capables de traiter.
Encore Merci, bonne soirée
Programmeur VBA amateur



Regarde ton classeur modifié :
http://cjoint.com/?lppjmWoQps
J'ai défini une plage dynamique qui reprend les abscisses (Plage) et une
plage dynamique avec les valeurs (PlageVal)
Regarde dans les noms (Insertion / Nom / Définir) la manière de les définir.
J'ai créé ensuite un graphique normal. Dans Données source onglet Séries,
j'ai indiqué les deux plages.
Ty peux ajouter les données que tu veux. Deux restrictions :
- ne pas laisser de cellule vide dans les données des abscisses.
- ne rien écrire dans la colonne H en dessous des données du graphique.
Daniel
"fredau" a écrit dans le message de news:

J'espère que celui-là fonctionne
Merci
http://cjoint.com/?lpojSIokZ4
--
Programmeur VBA amateur



Ton lien ne fonctionne pas, réesssaie d'en faire un autre.
Daniel
"fredau" a écrit dans le message de
news:

Bonjour Daniel.C et merci pour votre aide que je met tout de suite en
application en joignant le fichier que je viens de créer pour illustrer
mon
Pb (Mon applic réelle serait trop lourde à envoyer) :
http://cjoint.com/?lpl6ZRTips
--
Programmeur VBA amateur



Bonjour.
Pour mettre un classeur à disposition du forum, suis la procédure
suivante :
Tu te connectes sur le site www.cjoint.com
Tu cliques sur "Parcourir" et tu sélectionnes ton fichier.
Clique sur le bouton "Créer le lien Cjoint.
Le site va t'afficher l'adresse générée.Tu la copies et tu la postes
ici.
C'est tout.
Daniel
"fredau" a écrit dans le message de
news:

Bonjour Tatanka et merci pour votre réponse qui correspond tout à
fait
à
ce
que j'avais exprimé dans mon message, mais (il y a un mais) j'avais
omis
dans
ma présentation un élément important qui fait que la macro que vous
m'avez
envoyé ne fonctionne pas avec mon tableau (Elle fonctionne
parfaitement
avec
un tableau que l'on sélectionne) :
Ce tableau est en fait le résultat d'un copiage avec liaison d'un
premier
tableau se situant dans une autre feuille ce qui entraîne que si
j'ai
par
exemple 5 valeurs, les 15 suivantes de mon tableau ont en fait la
valeur 0
car dans le 1er tableau ces cellules sont vides; cela fait que le
résultat
de
votre macro me donne un graphique avec aucune valeur. Mon Pb est
donc
de
ne
sélectionner que les valeurs différentes de 0 (Pour Daniel C que je
remercie,
mes valeurs sont toujours contigües; ce sera toujours les x
premières
lignes
du tableau).
Pour être plus clair, il faudrait que je joigne mon exemple d'applic
comme
je le vois sur certaines questions du forum mais je ne sais pas
faire
et
n'ai
pas trouvé la solution dans l'aide, pouvez-vous aussi me renseigner
la-dessus.
Je suis un peu gêné de demander autant d'aide, je pense que les
passionnés
hyper compétents que vous êtes me le pardonneront.
Bonne journée et encore merci.
--
Programmeur VBA amateur



Salut Fredau,

En attendant quelque chose de plus simple,
sélectionne deux colonnes adjacentes
contenant des données et lance cette macro :

Sub Graphe()
Application.ScreenUpdating = False
Dim p() As Range, ici As Range
Dim tableau As Range
Dim NL As Integer, i As Integer
Dim j As Integer, k As Integer
Dim nom As String
Set tableau = Selection
NL = tableau.Rows.Count
ReDim p(1 To NL)
For i = 1 To NL
If Not IsEmpty(tableau(i, 1)) Then
j = j + 1
Set p(j) = tableau(i, 1).Resize(1, 2)
End If
Next i
Set ici = p(1)
For k = 2 To j
Set ici = Union(ici, p(k))
Next k
nom = ActiveSheet.Name
With Charts.Add
.ChartType = xlColumnClustered
.SetSourceData Source:=ici
.Location Where:=xlLocationAsObject, Name:=nom
End With
Application.ScreenUpdating = True
End Sub

Serge













"fredau" a écrit dans le message
de
news:
Bonjour,
Pour déboucher sur un graphique, j'ai un petit tableau de 20
lignes
et
2
colonnes avec les valeurs d'abcisses (Texte) dans la 1ère colonne
et
des
valeurs numériques en ordonnées.
Mon tableau comporte rarement 20 valeurs d'abcisses. Je souhaite
que
la
macro créant le graphique permette de ne représenter que des
valeurs
d'abcisses existantes (S'il n'y a que 5 valeurs, le graphe en
histogramme ne
doit comporter que 5 barres, s'il y en a 12 le graphique a 12
barres).
Mon nombre de valeurs est déjà recueilli dans une cellule, ce qui
me
permettrait de faire une boucle FOR dans ma macro afin de ne
sélectionner que
les cellules contenant des valeurs.
Merci d'avance pour la réponse, qui doit sûrement être évidente
mais
en
recherchant "extension sélection" sur le site je n'ai pas trouvé
ma
vie.





























Avatar
Tatanka
Salut Fredau,

Je croyais que tu voulais copier un premier tableau sur une autre feuille,
un deuxième tableau sur une autre feuille ...
Avant d'appeler ma macro, il faut sélectionner une feuille libre
autre que celle qui contient ton tableau.

Serge
L'âge n'a pas d'importance, à moins d'ëtre un fromage.



"fredau" a écrit dans le message de news:
Merci à daniel.C, c'est magique! J'ai commencé à regarder de plus près, je
n'ai pas encore tout compris mais c'est exactement ce que je voulais. Je
pensais que la solution passait par une macro mais c'est encore mieux comme
cela car je vais pouvoir améliorer la présentation du graphique puisque
celui-ci est actualisé à chaque modification de données.
Merci aussi à Tatanka bien que la macro (même la 2ème) ne fonctionne pas. à
l'instruction " ActiveSheet.Paste Link:=True ", cela me met tout mon
tableau à 0 et un petit peu plus loin ça arrête la macro et me renvoie au
déboggueur.
Jeune retraité (Depuis début Juillet) je vais avoir plus de temps pour
programmer, je pense que j'irai souvent sur ce forum pour progresser mais
aussi ( et cela grâce à vous ) peut-être parfois pour venir en aide à
d'autres "Excelmaniaques" sur des sujets plus simples que ceux que vous-mêmes
êtes capables de traiter.
Encore Merci, bonne soirée
Programmeur VBA amateur



Regarde ton classeur modifié :
http://cjoint.com/?lppjmWoQps
J'ai défini une plage dynamique qui reprend les abscisses (Plage) et une
plage dynamique avec les valeurs (PlageVal)
Regarde dans les noms (Insertion / Nom / Définir) la manière de les définir.
J'ai créé ensuite un graphique normal. Dans Données source onglet Séries,
j'ai indiqué les deux plages.
Ty peux ajouter les données que tu veux. Deux restrictions :
- ne pas laisser de cellule vide dans les données des abscisses.
- ne rien écrire dans la colonne H en dessous des données du graphique.
Daniel
"fredau" a écrit dans le message de news:

J'espère que celui-là fonctionne
Merci
http://cjoint.com/?lpojSIokZ4
--
Programmeur VBA amateur



Ton lien ne fonctionne pas, réesssaie d'en faire un autre.
Daniel
"fredau" a écrit dans le message de
news:

Bonjour Daniel.C et merci pour votre aide que je met tout de suite en
application en joignant le fichier que je viens de créer pour illustrer
mon
Pb (Mon applic réelle serait trop lourde à envoyer) :
http://cjoint.com/?lpl6ZRTips
--
Programmeur VBA amateur



Bonjour.
Pour mettre un classeur à disposition du forum, suis la procédure
suivante :
Tu te connectes sur le site www.cjoint.com
Tu cliques sur "Parcourir" et tu sélectionnes ton fichier.
Clique sur le bouton "Créer le lien Cjoint.
Le site va t'afficher l'adresse générée.Tu la copies et tu la postes
ici.
C'est tout.
Daniel
"fredau" a écrit dans le message de
news:

Bonjour Tatanka et merci pour votre réponse qui correspond tout à
fait
à
ce
que j'avais exprimé dans mon message, mais (il y a un mais) j'avais
omis
dans
ma présentation un élément important qui fait que la macro que vous
m'avez
envoyé ne fonctionne pas avec mon tableau (Elle fonctionne
parfaitement
avec
un tableau que l'on sélectionne) :
Ce tableau est en fait le résultat d'un copiage avec liaison d'un
premier
tableau se situant dans une autre feuille ce qui entraîne que si
j'ai
par
exemple 5 valeurs, les 15 suivantes de mon tableau ont en fait la
valeur 0
car dans le 1er tableau ces cellules sont vides; cela fait que le
résultat
de
votre macro me donne un graphique avec aucune valeur. Mon Pb est
donc
de
ne
sélectionner que les valeurs différentes de 0 (Pour Daniel C que je
remercie,
mes valeurs sont toujours contigües; ce sera toujours les x
premières
lignes
du tableau).
Pour être plus clair, il faudrait que je joigne mon exemple d'applic
comme
je le vois sur certaines questions du forum mais je ne sais pas
faire
et
n'ai
pas trouvé la solution dans l'aide, pouvez-vous aussi me renseigner
la-dessus.
Je suis un peu gêné de demander autant d'aide, je pense que les
passionnés
hyper compétents que vous êtes me le pardonneront.
Bonne journée et encore merci.
--
Programmeur VBA amateur



Salut Fredau,

En attendant quelque chose de plus simple,
sélectionne deux colonnes adjacentes
contenant des données et lance cette macro :

Sub Graphe()
Application.ScreenUpdating = False
Dim p() As Range, ici As Range
Dim tableau As Range
Dim NL As Integer, i As Integer
Dim j As Integer, k As Integer
Dim nom As String
Set tableau = Selection
NL = tableau.Rows.Count
ReDim p(1 To NL)
For i = 1 To NL
If Not IsEmpty(tableau(i, 1)) Then
j = j + 1
Set p(j) = tableau(i, 1).Resize(1, 2)
End If
Next i
Set ici = p(1)
For k = 2 To j
Set ici = Union(ici, p(k))
Next k
nom = ActiveSheet.Name
With Charts.Add
.ChartType = xlColumnClustered
.SetSourceData Source:=ici
.Location Where:=xlLocationAsObject, Name:=nom
End With
Application.ScreenUpdating = True
End Sub

Serge













"fredau" a écrit dans le message
de
news:
Bonjour,
Pour déboucher sur un graphique, j'ai un petit tableau de 20
lignes
et
2
colonnes avec les valeurs d'abcisses (Texte) dans la 1ère colonne
et
des
valeurs numériques en ordonnées.
Mon tableau comporte rarement 20 valeurs d'abcisses. Je souhaite
que
la
macro créant le graphique permette de ne représenter que des
valeurs
d'abcisses existantes (S'il n'y a que 5 valeurs, le graphe en
histogramme ne
doit comporter que 5 barres, s'il y en a 12 le graphique a 12
barres).
Mon nombre de valeurs est déjà recueilli dans une cellule, ce qui
me
permettrait de faire une boucle FOR dans ma macro afin de ne
sélectionner que
les cellules contenant des valeurs.
Merci d'avance pour la réponse, qui doit sûrement être évidente
mais
en
recherchant "extension sélection" sur le site je n'ai pas trouvé
ma
vie.































Avatar
fredau
Salut Tatanka
Autant pour moi, j'avais appelé la macro depuis la Feuill1 et en plus
j'avais fait mon essai avec un tableau situé dans d'autres cellules .. Enfin
bref, c'est super, ça marche.
Merci beaucoup
--
Programmeur VBA amateur



Salut Fredau,

Je croyais que tu voulais copier un premier tableau sur une autre feuille,
un deuxième tableau sur une autre feuille ...
Avant d'appeler ma macro, il faut sélectionner une feuille libre
autre que celle qui contient ton tableau.

Serge
L'âge n'a pas d'importance, à moins d'ëtre un fromage.



"fredau" a écrit dans le message de news:
Merci à daniel.C, c'est magique! J'ai commencé à regarder de plus près, je
n'ai pas encore tout compris mais c'est exactement ce que je voulais. Je
pensais que la solution passait par une macro mais c'est encore mieux comme
cela car je vais pouvoir améliorer la présentation du graphique puisque
celui-ci est actualisé à chaque modification de données.
Merci aussi à Tatanka bien que la macro (même la 2ème) ne fonctionne pas. à
l'instruction " ActiveSheet.Paste Link:=True ", cela me met tout mon
tableau à 0 et un petit peu plus loin ça arrête la macro et me renvoie au
déboggueur.
Jeune retraité (Depuis début Juillet) je vais avoir plus de temps pour
programmer, je pense que j'irai souvent sur ce forum pour progresser mais
aussi ( et cela grâce à vous ) peut-être parfois pour venir en aide à
d'autres "Excelmaniaques" sur des sujets plus simples que ceux que vous-mêmes
êtes capables de traiter.
Encore Merci, bonne soirée
Programmeur VBA amateur



Regarde ton classeur modifié :
http://cjoint.com/?lppjmWoQps
J'ai défini une plage dynamique qui reprend les abscisses (Plage) et une
plage dynamique avec les valeurs (PlageVal)
Regarde dans les noms (Insertion / Nom / Définir) la manière de les définir.
J'ai créé ensuite un graphique normal. Dans Données source onglet Séries,
j'ai indiqué les deux plages.
Ty peux ajouter les données que tu veux. Deux restrictions :
- ne pas laisser de cellule vide dans les données des abscisses.
- ne rien écrire dans la colonne H en dessous des données du graphique.
Daniel
"fredau" a écrit dans le message de news:

J'espère que celui-là fonctionne
Merci
http://cjoint.com/?lpojSIokZ4
--
Programmeur VBA amateur



Ton lien ne fonctionne pas, réesssaie d'en faire un autre.
Daniel
"fredau" a écrit dans le message de
news:

Bonjour Daniel.C et merci pour votre aide que je met tout de suite en
application en joignant le fichier que je viens de créer pour illustrer
mon
Pb (Mon applic réelle serait trop lourde à envoyer) :
http://cjoint.com/?lpl6ZRTips
--
Programmeur VBA amateur



Bonjour.
Pour mettre un classeur à disposition du forum, suis la procédure
suivante :
Tu te connectes sur le site www.cjoint.com
Tu cliques sur "Parcourir" et tu sélectionnes ton fichier.
Clique sur le bouton "Créer le lien Cjoint.
Le site va t'afficher l'adresse générée.Tu la copies et tu la postes
ici.
C'est tout.
Daniel
"fredau" a écrit dans le message de
news:

Bonjour Tatanka et merci pour votre réponse qui correspond tout à
fait
à
ce
que j'avais exprimé dans mon message, mais (il y a un mais) j'avais
omis
dans
ma présentation un élément important qui fait que la macro que vous
m'avez
envoyé ne fonctionne pas avec mon tableau (Elle fonctionne
parfaitement
avec
un tableau que l'on sélectionne) :
Ce tableau est en fait le résultat d'un copiage avec liaison d'un
premier
tableau se situant dans une autre feuille ce qui entraîne que si
j'ai
par
exemple 5 valeurs, les 15 suivantes de mon tableau ont en fait la
valeur 0
car dans le 1er tableau ces cellules sont vides; cela fait que le
résultat
de
votre macro me donne un graphique avec aucune valeur. Mon Pb est
donc
de
ne
sélectionner que les valeurs différentes de 0 (Pour Daniel C que je
remercie,
mes valeurs sont toujours contigües; ce sera toujours les x
premières
lignes
du tableau).
Pour être plus clair, il faudrait que je joigne mon exemple d'applic
comme
je le vois sur certaines questions du forum mais je ne sais pas
faire
et
n'ai
pas trouvé la solution dans l'aide, pouvez-vous aussi me renseigner
la-dessus.
Je suis un peu gêné de demander autant d'aide, je pense que les
passionnés
hyper compétents que vous êtes me le pardonneront.
Bonne journée et encore merci.
--
Programmeur VBA amateur



Salut Fredau,

En attendant quelque chose de plus simple,
sélectionne deux colonnes adjacentes
contenant des données et lance cette macro :

Sub Graphe()
Application.ScreenUpdating = False
Dim p() As Range, ici As Range
Dim tableau As Range
Dim NL As Integer, i As Integer
Dim j As Integer, k As Integer
Dim nom As String
Set tableau = Selection
NL = tableau.Rows.Count
ReDim p(1 To NL)
For i = 1 To NL
If Not IsEmpty(tableau(i, 1)) Then
j = j + 1
Set p(j) = tableau(i, 1).Resize(1, 2)
End If
Next i
Set ici = p(1)
For k = 2 To j
Set ici = Union(ici, p(k))
Next k
nom = ActiveSheet.Name
With Charts.Add
.ChartType = xlColumnClustered
.SetSourceData Source:=ici
.Location Where:=xlLocationAsObject, Name:=nom
End With
Application.ScreenUpdating = True
End Sub

Serge













"fredau" a écrit dans le message
de
news:
Bonjour,
Pour déboucher sur un graphique, j'ai un petit tableau de 20
lignes
et
2
colonnes avec les valeurs d'abcisses (Texte) dans la 1ère colonne
et
des
valeurs numériques en ordonnées.
Mon tableau comporte rarement 20 valeurs d'abcisses. Je souhaite
que
la
macro créant le graphique permette de ne représenter que des
valeurs
d'abcisses existantes (S'il n'y a que 5 valeurs, le graphe en
histogramme ne
doit comporter que 5 barres, s'il y en a 12 le graphique a 12
barres).
Mon nombre de valeurs est déjà recueilli dans une cellule, ce qui
me
permettrait de faire une boucle FOR dans ma macro afin de ne
sélectionner que
les cellules contenant des valeurs.
Merci d'avance pour la réponse, qui doit sûrement être évidente
mais
en
recherchant "extension sélection" sur le site je n'ai pas trouvé
ma
vie.




































Avatar
Tatanka
Ave Fredau,

Mais si tu veux garder chacun des nouveaux tableaux de ta feuille1
sur une autre feuille, tu dois enlever Link:=True.

Serge


"fredau" a écrit dans le message de news:
Salut Tatanka
Autant pour moi, j'avais appelé la macro depuis la Feuill1 et en plus
j'avais fait mon essai avec un tableau situé dans d'autres cellules .. Enfin
bref, c'est super, ça marche.
Merci beaucoup
--
Programmeur VBA amateur



Salut Fredau,

Je croyais que tu voulais copier un premier tableau sur une autre feuille,
un deuxième tableau sur une autre feuille ...
Avant d'appeler ma macro, il faut sélectionner une feuille libre
autre que celle qui contient ton tableau.

Serge
L'âge n'a pas d'importance, à moins d'ëtre un fromage.



"fredau" a écrit dans le message de news:

Merci à daniel.C, c'est magique! J'ai commencé à regarder de plus près, je
n'ai pas encore tout compris mais c'est exactement ce que je voulais. Je
pensais que la solution passait par une macro mais c'est encore mieux comme
cela car je vais pouvoir améliorer la présentation du graphique puisque
celui-ci est actualisé à chaque modification de données.
Merci aussi à Tatanka bien que la macro (même la 2ème) ne fonctionne pas. à
l'instruction " ActiveSheet.Paste Link:=True ", cela me met tout mon
tableau à 0 et un petit peu plus loin ça arrête la macro et me renvoie au
déboggueur.
Jeune retraité (Depuis début Juillet) je vais avoir plus de temps pour
programmer, je pense que j'irai souvent sur ce forum pour progresser mais
aussi ( et cela grâce à vous ) peut-être parfois pour venir en aide à
d'autres "Excelmaniaques" sur des sujets plus simples que ceux que vous-mêmes
êtes capables de traiter.
Encore Merci, bonne soirée
Programmeur VBA amateur



Regarde ton classeur modifié :
http://cjoint.com/?lppjmWoQps
J'ai défini une plage dynamique qui reprend les abscisses (Plage) et une
plage dynamique avec les valeurs (PlageVal)
Regarde dans les noms (Insertion / Nom / Définir) la manière de les définir.
J'ai créé ensuite un graphique normal. Dans Données source onglet Séries,
j'ai indiqué les deux plages.
Ty peux ajouter les données que tu veux. Deux restrictions :
- ne pas laisser de cellule vide dans les données des abscisses.
- ne rien écrire dans la colonne H en dessous des données du graphique.
Daniel
"fredau" a écrit dans le message de news:

J'espère que celui-là fonctionne
Merci
http://cjoint.com/?lpojSIokZ4
--
Programmeur VBA amateur



Ton lien ne fonctionne pas, réesssaie d'en faire un autre.
Daniel
"fredau" a écrit dans le message de
news:

Bonjour Daniel.C et merci pour votre aide que je met tout de suite en
application en joignant le fichier que je viens de créer pour illustrer
mon
Pb (Mon applic réelle serait trop lourde à envoyer) :
http://cjoint.com/?lpl6ZRTips
--
Programmeur VBA amateur



Bonjour.
Pour mettre un classeur à disposition du forum, suis la procédure
suivante :
Tu te connectes sur le site www.cjoint.com
Tu cliques sur "Parcourir" et tu sélectionnes ton fichier.
Clique sur le bouton "Créer le lien Cjoint.
Le site va t'afficher l'adresse générée.Tu la copies et tu la postes
ici.
C'est tout.
Daniel
"fredau" a écrit dans le message de
news:

Bonjour Tatanka et merci pour votre réponse qui correspond tout à
fait
à
ce
que j'avais exprimé dans mon message, mais (il y a un mais) j'avais
omis
dans
ma présentation un élément important qui fait que la macro que vous
m'avez
envoyé ne fonctionne pas avec mon tableau (Elle fonctionne
parfaitement
avec
un tableau que l'on sélectionne) :
Ce tableau est en fait le résultat d'un copiage avec liaison d'un
premier
tableau se situant dans une autre feuille ce qui entraîne que si
j'ai
par
exemple 5 valeurs, les 15 suivantes de mon tableau ont en fait la
valeur 0
car dans le 1er tableau ces cellules sont vides; cela fait que le
résultat
de
votre macro me donne un graphique avec aucune valeur. Mon Pb est
donc
de
ne
sélectionner que les valeurs différentes de 0 (Pour Daniel C que je
remercie,
mes valeurs sont toujours contigües; ce sera toujours les x
premières
lignes
du tableau).
Pour être plus clair, il faudrait que je joigne mon exemple d'applic
comme
je le vois sur certaines questions du forum mais je ne sais pas
faire
et
n'ai
pas trouvé la solution dans l'aide, pouvez-vous aussi me renseigner
la-dessus.
Je suis un peu gêné de demander autant d'aide, je pense que les
passionnés
hyper compétents que vous êtes me le pardonneront.
Bonne journée et encore merci.
--
Programmeur VBA amateur



Salut Fredau,

En attendant quelque chose de plus simple,
sélectionne deux colonnes adjacentes
contenant des données et lance cette macro :

Sub Graphe()
Application.ScreenUpdating = False
Dim p() As Range, ici As Range
Dim tableau As Range
Dim NL As Integer, i As Integer
Dim j As Integer, k As Integer
Dim nom As String
Set tableau = Selection
NL = tableau.Rows.Count
ReDim p(1 To NL)
For i = 1 To NL
If Not IsEmpty(tableau(i, 1)) Then
j = j + 1
Set p(j) = tableau(i, 1).Resize(1, 2)
End If
Next i
Set ici = p(1)
For k = 2 To j
Set ici = Union(ici, p(k))
Next k
nom = ActiveSheet.Name
With Charts.Add
.ChartType = xlColumnClustered
.SetSourceData Source:=ici
.Location Where:=xlLocationAsObject, Name:=nom
End With
Application.ScreenUpdating = True
End Sub

Serge













"fredau" a écrit dans le message
de
news:
Bonjour,
Pour déboucher sur un graphique, j'ai un petit tableau de 20
lignes
et
2
colonnes avec les valeurs d'abcisses (Texte) dans la 1ère colonne
et
des
valeurs numériques en ordonnées.
Mon tableau comporte rarement 20 valeurs d'abcisses. Je souhaite
que
la
macro créant le graphique permette de ne représenter que des
valeurs
d'abcisses existantes (S'il n'y a que 5 valeurs, le graphe en
histogramme ne
doit comporter que 5 barres, s'il y en a 12 le graphique a 12
barres).
Mon nombre de valeurs est déjà recueilli dans une cellule, ce qui
me
permettrait de faire une boucle FOR dans ma macro afin de ne
sélectionner que
les cellules contenant des valeurs.
Merci d'avance pour la réponse, qui doit sûrement être évidente
mais
en
recherchant "extension sélection" sur le site je n'ai pas trouvé
ma
vie.






































1 2