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

Type de feuille (VBA)

6 réponses
Avatar
Daniel.C
Bonsooir.
J'ai un petit problème de compréhension avec XL2007.
J'ai une feuille graphique et je veux récupérer le numéro du type de feuille
graphique :
Var = ActiveChart.Type
me donne 3.
Le test :
If ActiveChart.Type = 3 Then
fonctionne bien
alors que :
If ActiveChart.Type = xlChart Then
ne fonctionne pas.
L'explorateur d'objets 2007 me donne -4109 pour xlchart..
Le test :
If ActiveChart.Type = -4109 Then
ne fonctionne pas.
Où est-ce que je m'embrouille ?
Daniel

6 réponses

Avatar
MichDenis
à partir de la version 2003

Dim X XlChartType
x = xlArea ' Un des types disponibles.

Si je regarde dans l'explorateur d'objets à partir de la fenêtre
de l'éditeur de code (raccourci clavier F2) et si je regarde les
constantes disponibles, aucune constante litéraire n'est associé
à la valeur numérique 3. Pour ce faire, tu recherches dans la dite
fenêtre de l'explorateur d'objet "XlChartType" et tu auras la liste
des constantes. Si tu les sélectionnes à tour de rôle, tu pourras
observer la valeur numérique qui leur ait accordé en regardant
dans le bas de la fenêtre.

Ceci étant dit, il arrive que les constantes numériques soient différentes
d'une version à l'autre...! Excel 2007, jamais vu ça donc ça ne doit
pas exister ...;-)



"Daniel.C" a écrit dans le message de news:

Bonsooir.
J'ai un petit problème de compréhension avec XL2007.
J'ai une feuille graphique et je veux récupérer le numéro du type de feuille
graphique :
Var = ActiveChart.Type
me donne 3.
Le test :
If ActiveChart.Type = 3 Then
fonctionne bien
alors que :
If ActiveChart.Type = xlChart Then
ne fonctionne pas.
L'explorateur d'objets 2007 me donne -4109 pour xlchart..
Le test :
If ActiveChart.Type = -4109 Then
ne fonctionne pas.
Où est-ce que je m'embrouille ?
Daniel
Avatar
Daniel.C
Bonsoir.
Je ne parle pas du type de graphique, mais du type de feuille (XL2003 et
XL2007, c'est pareil sur ce point):
Pour xlSheetType, dans l'explorateur d'objets, j'ai les valeurs :
xlChart : -4109
xlDialogSheet : -4116
xlExcel4IntlMacroSheet : 4
xlExcel4Macrosheet : 3
xlWorkSheet : -4167
A moin que j'aie mal compris ce que tu dis.
Daniel
"MichDenis" a écrit dans le message de news:
%
à partir de la version 2003

Dim X XlChartType
x = xlArea ' Un des types disponibles.

Si je regarde dans l'explorateur d'objets à partir de la fenêtre
de l'éditeur de code (raccourci clavier F2) et si je regarde les
constantes disponibles, aucune constante litéraire n'est associé
à la valeur numérique 3. Pour ce faire, tu recherches dans la dite
fenêtre de l'explorateur d'objet "XlChartType" et tu auras la liste
des constantes. Si tu les sélectionnes à tour de rôle, tu pourras
observer la valeur numérique qui leur ait accordé en regardant
dans le bas de la fenêtre.

Ceci étant dit, il arrive que les constantes numériques soient différentes
d'une version à l'autre...! Excel 2007, jamais vu ça donc ça ne doit
pas exister ...;-)



"Daniel.C" a écrit dans le message de news:

Bonsooir.
J'ai un petit problème de compréhension avec XL2007.
J'ai une feuille graphique et je veux récupérer le numéro du type de
feuille
graphique :
Var = ActiveChart.Type
me donne 3.
Le test :
If ActiveChart.Type = 3 Then
fonctionne bien
alors que :
If ActiveChart.Type = xlChart Then
ne fonctionne pas.
L'explorateur d'objets 2007 me donne -4109 pour xlchart..
Le test :
If ActiveChart.Type = -4109 Then
ne fonctionne pas.
Où est-ce que je m'embrouille ?
Daniel





Avatar
MichDenis
Les constantes xlsheettype que tu as définies s'appliquent à
la méthode Add des objets Sheets ou Worksheets

Si tu veux discriner dans une procédure les feuilles de calcul
et les feuilles graphiques, et les feuilles formulaires :

'----------------------------
Sub test()
For Each sh In Sheets
Select Case TypeName(sh)
Case "Chart" 'feuille graphique
xx = sh.Name
Case "Worksheet" 'Feuille de calcul
xy = sh.Name
Case "DialogSheet" 'Ancienne Version Formulaire
zxz = sh.Name
End Select
Next
End Sub
'----------------------------


"Daniel.C" a écrit dans le message de news:

Bonsoir.
Je ne parle pas du type de graphique, mais du type de feuille (XL2003 et
XL2007, c'est pareil sur ce point):
Pour xlSheetType, dans l'explorateur d'objets, j'ai les valeurs :
xlChart : -4109
xlDialogSheet : -4116
xlExcel4IntlMacroSheet : 4
xlExcel4Macrosheet : 3
xlWorkSheet : -4167
A moin que j'aie mal compris ce que tu dis.
Daniel
"MichDenis" a écrit dans le message de news:
%
à partir de la version 2003

Dim X XlChartType
x = xlArea ' Un des types disponibles.

Si je regarde dans l'explorateur d'objets à partir de la fenêtre
de l'éditeur de code (raccourci clavier F2) et si je regarde les
constantes disponibles, aucune constante litéraire n'est associé
à la valeur numérique 3. Pour ce faire, tu recherches dans la dite
fenêtre de l'explorateur d'objet "XlChartType" et tu auras la liste
des constantes. Si tu les sélectionnes à tour de rôle, tu pourras
observer la valeur numérique qui leur ait accordé en regardant
dans le bas de la fenêtre.

Ceci étant dit, il arrive que les constantes numériques soient différentes
d'une version à l'autre...! Excel 2007, jamais vu ça donc ça ne doit
pas exister ...;-)



"Daniel.C" a écrit dans le message de news:

Bonsooir.
J'ai un petit problème de compréhension avec XL2007.
J'ai une feuille graphique et je veux récupérer le numéro du type de
feuille
graphique :
Var = ActiveChart.Type
me donne 3.
Le test :
If ActiveChart.Type = 3 Then
fonctionne bien
alors que :
If ActiveChart.Type = xlChart Then
ne fonctionne pas.
L'explorateur d'objets 2007 me donne -4109 pour xlchart..
Le test :
If ActiveChart.Type = -4109 Then
ne fonctionne pas.
Où est-ce que je m'embrouille ?
Daniel





Avatar
Daniel.C
Bonjour et merci.
Je viens d'apprendre "typename"; cependant je teste le "type" et j'arrive
aussi à discriminer, mais avec dess valeurs qui ne sont pas celles de
l'explorateur d'objets.
Daniel
"MichDenis" a écrit dans le message de news:

Les constantes xlsheettype que tu as définies s'appliquent à
la méthode Add des objets Sheets ou Worksheets

Si tu veux discriner dans une procédure les feuilles de calcul
et les feuilles graphiques, et les feuilles formulaires :

'----------------------------
Sub test()
For Each sh In Sheets
Select Case TypeName(sh)
Case "Chart" 'feuille graphique
xx = sh.Name
Case "Worksheet" 'Feuille de calcul
xy = sh.Name
Case "DialogSheet" 'Ancienne Version Formulaire
zxz = sh.Name
End Select
Next
End Sub
'----------------------------


"Daniel.C" a écrit dans le message de news:

Bonsoir.
Je ne parle pas du type de graphique, mais du type de feuille (XL2003 et
XL2007, c'est pareil sur ce point):
Pour xlSheetType, dans l'explorateur d'objets, j'ai les valeurs :
xlChart : -4109
xlDialogSheet : -4116
xlExcel4IntlMacroSheet : 4
xlExcel4Macrosheet : 3
xlWorkSheet : -4167
A moin que j'aie mal compris ce que tu dis.
Daniel
"MichDenis" a écrit dans le message de news:
%
à partir de la version 2003

Dim X XlChartType
x = xlArea ' Un des types disponibles.

Si je regarde dans l'explorateur d'objets à partir de la fenêtre
de l'éditeur de code (raccourci clavier F2) et si je regarde les
constantes disponibles, aucune constante litéraire n'est associé
à la valeur numérique 3. Pour ce faire, tu recherches dans la dite
fenêtre de l'explorateur d'objet "XlChartType" et tu auras la liste
des constantes. Si tu les sélectionnes à tour de rôle, tu pourras
observer la valeur numérique qui leur ait accordé en regardant
dans le bas de la fenêtre.

Ceci étant dit, il arrive que les constantes numériques soient
différentes
d'une version à l'autre...! Excel 2007, jamais vu ça donc ça ne doit
pas exister ...;-)



"Daniel.C" a écrit dans le message de news:

Bonsooir.
J'ai un petit problème de compréhension avec XL2007.
J'ai une feuille graphique et je veux récupérer le numéro du type de
feuille
graphique :
Var = ActiveChart.Type
me donne 3.
Le test :
If ActiveChart.Type = 3 Then
fonctionne bien
alors que :
If ActiveChart.Type = xlChart Then
ne fonctionne pas.
L'explorateur d'objets 2007 me donne -4109 pour xlchart..
Le test :
If ActiveChart.Type = -4109 Then
ne fonctionne pas.
Où est-ce que je m'embrouille ?
Daniel










Avatar
MichDenis
| mais avec dess valeurs qui ne sont pas celles de l'explorateur d'objets.

La question : Est-ce que ces valeurs sont fiables lorsque l'on passe
d'une version Excel à une autre ?



"Daniel.C" a écrit dans le message de news:
%
Bonjour et merci.
Je viens d'apprendre "typename"; cependant je teste le "type" et j'arrive
aussi à discriminer, mais avec dess valeurs qui ne sont pas celles de
l'explorateur d'objets.
Daniel
"MichDenis" a écrit dans le message de news:

Les constantes xlsheettype que tu as définies s'appliquent à
la méthode Add des objets Sheets ou Worksheets

Si tu veux discriner dans une procédure les feuilles de calcul
et les feuilles graphiques, et les feuilles formulaires :

'----------------------------
Sub test()
For Each sh In Sheets
Select Case TypeName(sh)
Case "Chart" 'feuille graphique
xx = sh.Name
Case "Worksheet" 'Feuille de calcul
xy = sh.Name
Case "DialogSheet" 'Ancienne Version Formulaire
zxz = sh.Name
End Select
Next
End Sub
'----------------------------


"Daniel.C" a écrit dans le message de news:

Bonsoir.
Je ne parle pas du type de graphique, mais du type de feuille (XL2003 et
XL2007, c'est pareil sur ce point):
Pour xlSheetType, dans l'explorateur d'objets, j'ai les valeurs :
xlChart : -4109
xlDialogSheet : -4116
xlExcel4IntlMacroSheet : 4
xlExcel4Macrosheet : 3
xlWorkSheet : -4167
A moin que j'aie mal compris ce que tu dis.
Daniel
"MichDenis" a écrit dans le message de news:
%
à partir de la version 2003

Dim X XlChartType
x = xlArea ' Un des types disponibles.

Si je regarde dans l'explorateur d'objets à partir de la fenêtre
de l'éditeur de code (raccourci clavier F2) et si je regarde les
constantes disponibles, aucune constante litéraire n'est associé
à la valeur numérique 3. Pour ce faire, tu recherches dans la dite
fenêtre de l'explorateur d'objet "XlChartType" et tu auras la liste
des constantes. Si tu les sélectionnes à tour de rôle, tu pourras
observer la valeur numérique qui leur ait accordé en regardant
dans le bas de la fenêtre.

Ceci étant dit, il arrive que les constantes numériques soient
différentes
d'une version à l'autre...! Excel 2007, jamais vu ça donc ça ne doit
pas exister ...;-)



"Daniel.C" a écrit dans le message de news:

Bonsooir.
J'ai un petit problème de compréhension avec XL2007.
J'ai une feuille graphique et je veux récupérer le numéro du type de
feuille
graphique :
Var = ActiveChart.Type
me donne 3.
Le test :
If ActiveChart.Type = 3 Then
fonctionne bien
alors que :
If ActiveChart.Type = xlChart Then
ne fonctionne pas.
L'explorateur d'objets 2007 me donne -4109 pour xlchart..
Le test :
If ActiveChart.Type = -4109 Then
ne fonctionne pas.
Où est-ce que je m'embrouille ?
Daniel










Avatar
Daniel.C
J'ai le même comportement avec XL2003 et XL2007.
l'instruction :
msgbox activesheet.type
me donne 3 pour les feuilles graphiques.
Daniel
"MichDenis" a écrit dans le message de news:

| mais avec dess valeurs qui ne sont pas celles de l'explorateur d'objets.

La question : Est-ce que ces valeurs sont fiables lorsque l'on passe
d'une version Excel à une autre ?



"Daniel.C" a écrit dans le message de news:
%
Bonjour et merci.
Je viens d'apprendre "typename"; cependant je teste le "type" et j'arrive
aussi à discriminer, mais avec dess valeurs qui ne sont pas celles de
l'explorateur d'objets.
Daniel
"MichDenis" a écrit dans le message de news:

Les constantes xlsheettype que tu as définies s'appliquent à
la méthode Add des objets Sheets ou Worksheets

Si tu veux discriner dans une procédure les feuilles de calcul
et les feuilles graphiques, et les feuilles formulaires :

'----------------------------
Sub test()
For Each sh In Sheets
Select Case TypeName(sh)
Case "Chart" 'feuille graphique
xx = sh.Name
Case "Worksheet" 'Feuille de calcul
xy = sh.Name
Case "DialogSheet" 'Ancienne Version Formulaire
zxz = sh.Name
End Select
Next
End Sub
'----------------------------


"Daniel.C" a écrit dans le message de news:

Bonsoir.
Je ne parle pas du type de graphique, mais du type de feuille (XL2003 et
XL2007, c'est pareil sur ce point):
Pour xlSheetType, dans l'explorateur d'objets, j'ai les valeurs :
xlChart : -4109
xlDialogSheet : -4116
xlExcel4IntlMacroSheet : 4
xlExcel4Macrosheet : 3
xlWorkSheet : -4167
A moin que j'aie mal compris ce que tu dis.
Daniel
"MichDenis" a écrit dans le message de news:
%
à partir de la version 2003

Dim X XlChartType
x = xlArea ' Un des types disponibles.

Si je regarde dans l'explorateur d'objets à partir de la fenêtre
de l'éditeur de code (raccourci clavier F2) et si je regarde les
constantes disponibles, aucune constante litéraire n'est associé
à la valeur numérique 3. Pour ce faire, tu recherches dans la dite
fenêtre de l'explorateur d'objet "XlChartType" et tu auras la liste
des constantes. Si tu les sélectionnes à tour de rôle, tu pourras
observer la valeur numérique qui leur ait accordé en regardant
dans le bas de la fenêtre.

Ceci étant dit, il arrive que les constantes numériques soient
différentes
d'une version à l'autre...! Excel 2007, jamais vu ça donc ça ne doit
pas exister ...;-)



"Daniel.C" a écrit dans le message de news:

Bonsooir.
J'ai un petit problème de compréhension avec XL2007.
J'ai une feuille graphique et je veux récupérer le numéro du type de
feuille
graphique :
Var = ActiveChart.Type
me donne 3.
Le test :
If ActiveChart.Type = 3 Then
fonctionne bien
alors que :
If ActiveChart.Type = xlChart Then
ne fonctionne pas.
L'explorateur d'objets 2007 me donne -4109 pour xlchart..
Le test :
If ActiveChart.Type = -4109 Then
ne fonctionne pas.
Où est-ce que je m'embrouille ?
Daniel