Function renvoie_propri(nom_cbb As String, feuille As String, ligne As
interger) As Boolean
Sheets("PARAMETRES").Visible =3D True
Sheets("PARAMETRES").Select
Range("Z31").Select
Range(Selection, Selection.End(xlToRight)).Select
ActiveCell.Offset(ligne, Application.Match(titre, Selection, 0) -
1).Select
titre_feuille =3D ActiveCell.Value
No_Event =3D True
Sheets("PARAMETRES").Visible =3D False
Sheets(nomfeuille).Select
End Function
qui me fait =E0 l'execution :
Erreur de compilation :
type defini par l'utilisateur non defini
je voudrais l'utiliser comme =E7=E0 :
Sheets(nomfeuille).CBB_champ_de_page.Visible =3D
renvoie_propri("CBB_champ_de_page.Visible", nomfeuille, 7)
peut-être simplement interger qui devrait être integer ?
A+
Alfred WALLACE wrote:
Bonjour (re re, et rere)
j'ai cette fonction :
Function renvoie_propri(nom_cbb As String, feuille As String, ligne As interger) As Boolean Sheets("PARAMETRES").Visible = True Sheets("PARAMETRES").Select Range("Z31").Select Range(Selection, Selection.End(xlToRight)).Select ActiveCell.Offset(ligne, Application.Match(titre, Selection, 0) - 1).Select titre_feuille = ActiveCell.Value No_Event = True Sheets("PARAMETRES").Visible = False Sheets(nomfeuille).Select End Function
qui me fait à l'execution : Erreur de compilation : type defini par l'utilisateur non defini
je voudrais l'utiliser comme çà : Sheets(nomfeuille).CBB_champ_de_page.Visible = renvoie_propri("CBB_champ_de_page.Visible", nomfeuille, 7)
ai-je oublié quelque chose svp ?
Merci
José
peut-être simplement interger qui devrait être integer ?
A+
Alfred WALLACE wrote:
Bonjour (re re, et rere)
j'ai cette fonction :
Function renvoie_propri(nom_cbb As String, feuille As String, ligne As
interger) As Boolean
Sheets("PARAMETRES").Visible = True
Sheets("PARAMETRES").Select
Range("Z31").Select
Range(Selection, Selection.End(xlToRight)).Select
ActiveCell.Offset(ligne, Application.Match(titre, Selection, 0) -
1).Select
titre_feuille = ActiveCell.Value
No_Event = True
Sheets("PARAMETRES").Visible = False
Sheets(nomfeuille).Select
End Function
qui me fait à l'execution :
Erreur de compilation :
type defini par l'utilisateur non defini
je voudrais l'utiliser comme çà :
Sheets(nomfeuille).CBB_champ_de_page.Visible =
renvoie_propri("CBB_champ_de_page.Visible", nomfeuille, 7)
peut-être simplement interger qui devrait être integer ?
A+
Alfred WALLACE wrote:
Bonjour (re re, et rere)
j'ai cette fonction :
Function renvoie_propri(nom_cbb As String, feuille As String, ligne As interger) As Boolean Sheets("PARAMETRES").Visible = True Sheets("PARAMETRES").Select Range("Z31").Select Range(Selection, Selection.End(xlToRight)).Select ActiveCell.Offset(ligne, Application.Match(titre, Selection, 0) - 1).Select titre_feuille = ActiveCell.Value No_Event = True Sheets("PARAMETRES").Visible = False Sheets(nomfeuille).Select End Function
qui me fait à l'execution : Erreur de compilation : type defini par l'utilisateur non defini
je voudrais l'utiliser comme çà : Sheets(nomfeuille).CBB_champ_de_page.Visible = renvoie_propri("CBB_champ_de_page.Visible", nomfeuille, 7)
ai-je oublié quelque chose svp ?
Merci
José
lSteph
Bonjour, peut-être integer au lieu de interger
Function ... interger)
Pour une ligne long est souvent préférable!
Cordialement.
lSteph "Alfred WALLACE" a écrit dans le message de news:
Bonjour (re re, et rere)
j'ai cette fonction :
Function renvoie_propri(nom_cbb As String, feuille As String, ligne As interger) As Boolean Sheets("PARAMETRES").Visible = True Sheets("PARAMETRES").Select Range("Z31").Select Range(Selection, Selection.End(xlToRight)).Select ActiveCell.Offset(ligne, Application.Match(titre, Selection, 0) - 1).Select titre_feuille = ActiveCell.Value No_Event = True Sheets("PARAMETRES").Visible = False Sheets(nomfeuille).Select End Function
qui me fait à l'execution : Erreur de compilation : type defini par l'utilisateur non defini
je voudrais l'utiliser comme çà : Sheets(nomfeuille).CBB_champ_de_page.Visible renvoie_propri("CBB_champ_de_page.Visible", nomfeuille, 7)
ai-je oublié quelque chose svp ?
Merci
José
Bonjour,
peut-être integer au lieu de interger
Function ...
interger)
Pour une ligne long est souvent préférable!
Cordialement.
lSteph
"Alfred WALLACE" <jose6a@gmail.com> a écrit dans le message de news:
1157033042.636523.305530@m79g2000cwm.googlegroups.com...
Bonjour (re re, et rere)
j'ai cette fonction :
Function renvoie_propri(nom_cbb As String, feuille As String, ligne As
interger) As Boolean
Sheets("PARAMETRES").Visible = True
Sheets("PARAMETRES").Select
Range("Z31").Select
Range(Selection, Selection.End(xlToRight)).Select
ActiveCell.Offset(ligne, Application.Match(titre, Selection, 0) -
1).Select
titre_feuille = ActiveCell.Value
No_Event = True
Sheets("PARAMETRES").Visible = False
Sheets(nomfeuille).Select
End Function
qui me fait à l'execution :
Erreur de compilation :
type defini par l'utilisateur non defini
je voudrais l'utiliser comme çà :
Sheets(nomfeuille).CBB_champ_de_page.Visible renvoie_propri("CBB_champ_de_page.Visible", nomfeuille, 7)
lSteph "Alfred WALLACE" a écrit dans le message de news:
Bonjour (re re, et rere)
j'ai cette fonction :
Function renvoie_propri(nom_cbb As String, feuille As String, ligne As interger) As Boolean Sheets("PARAMETRES").Visible = True Sheets("PARAMETRES").Select Range("Z31").Select Range(Selection, Selection.End(xlToRight)).Select ActiveCell.Offset(ligne, Application.Match(titre, Selection, 0) - 1).Select titre_feuille = ActiveCell.Value No_Event = True Sheets("PARAMETRES").Visible = False Sheets(nomfeuille).Select End Function
qui me fait à l'execution : Erreur de compilation : type defini par l'utilisateur non defini
je voudrais l'utiliser comme çà : Sheets(nomfeuille).CBB_champ_de_page.Visible renvoie_propri("CBB_champ_de_page.Visible", nomfeuille, 7)
ai-je oublié quelque chose svp ?
Merci
José
AV
M'est avis qu'il y a une très grande confusion entre macro et fonction perso... Une fonction ne renvoie qu'un résultat ...
AV
M'est avis qu'il y a une très grande confusion entre macro et fonction perso...
Une fonction ne renvoie qu'un résultat ...
M'est avis qu'il y a une très grande confusion entre macro et fonction perso... Une fonction ne renvoie qu'un résultat ...
AV
lSteph
j'ajouterais ...aussi ...pourquoi des select dans une fonction?? et à la fin renvoie_propri =..quoi?
'lSteph
"lSteph" a écrit dans le message de news:
Bonjour, peut-être integer au lieu de interger
Function ... interger)
Pour une ligne long est souvent préférable!
Cordialement.
lSteph "Alfred WALLACE" a écrit dans le message de news:
Bonjour (re re, et rere)
j'ai cette fonction :
Function renvoie_propri(nom_cbb As String, feuille As String, ligne As interger) As Boolean Sheets("PARAMETRES").Visible = True Sheets("PARAMETRES").Select Range("Z31").Select Range(Selection, Selection.End(xlToRight)).Select ActiveCell.Offset(ligne, Application.Match(titre, Selection, 0) - 1).Select titre_feuille = ActiveCell.Value No_Event = True Sheets("PARAMETRES").Visible = False Sheets(nomfeuille).Select End Function
qui me fait à l'execution : Erreur de compilation : type defini par l'utilisateur non defini
je voudrais l'utiliser comme çà : Sheets(nomfeuille).CBB_champ_de_page.Visible > renvoie_propri("CBB_champ_de_page.Visible", nomfeuille, 7)
ai-je oublié quelque chose svp ?
Merci
José
j'ajouterais ...aussi ...pourquoi des select dans une fonction??
et à la fin renvoie_propri =..quoi?
'lSteph
"lSteph" <lecocosteph@frite.fr> a écrit dans le message de news:
uv1JsgQzGHA.1288@TK2MSFTNGP03.phx.gbl...
Bonjour,
peut-être integer au lieu de interger
Function ...
interger)
Pour une ligne long est souvent préférable!
Cordialement.
lSteph
"Alfred WALLACE" <jose6a@gmail.com> a écrit dans le message de news:
1157033042.636523.305530@m79g2000cwm.googlegroups.com...
Bonjour (re re, et rere)
j'ai cette fonction :
Function renvoie_propri(nom_cbb As String, feuille As String, ligne As
interger) As Boolean
Sheets("PARAMETRES").Visible = True
Sheets("PARAMETRES").Select
Range("Z31").Select
Range(Selection, Selection.End(xlToRight)).Select
ActiveCell.Offset(ligne, Application.Match(titre, Selection, 0) -
1).Select
titre_feuille = ActiveCell.Value
No_Event = True
Sheets("PARAMETRES").Visible = False
Sheets(nomfeuille).Select
End Function
qui me fait à l'execution :
Erreur de compilation :
type defini par l'utilisateur non defini
je voudrais l'utiliser comme çà :
Sheets(nomfeuille).CBB_champ_de_page.Visible > renvoie_propri("CBB_champ_de_page.Visible", nomfeuille, 7)
j'ajouterais ...aussi ...pourquoi des select dans une fonction?? et à la fin renvoie_propri =..quoi?
'lSteph
"lSteph" a écrit dans le message de news:
Bonjour, peut-être integer au lieu de interger
Function ... interger)
Pour une ligne long est souvent préférable!
Cordialement.
lSteph "Alfred WALLACE" a écrit dans le message de news:
Bonjour (re re, et rere)
j'ai cette fonction :
Function renvoie_propri(nom_cbb As String, feuille As String, ligne As interger) As Boolean Sheets("PARAMETRES").Visible = True Sheets("PARAMETRES").Select Range("Z31").Select Range(Selection, Selection.End(xlToRight)).Select ActiveCell.Offset(ligne, Application.Match(titre, Selection, 0) - 1).Select titre_feuille = ActiveCell.Value No_Event = True Sheets("PARAMETRES").Visible = False Sheets(nomfeuille).Select End Function
qui me fait à l'execution : Erreur de compilation : type defini par l'utilisateur non defini
je voudrais l'utiliser comme çà : Sheets(nomfeuille).CBB_champ_de_page.Visible > renvoie_propri("CBB_champ_de_page.Visible", nomfeuille, 7)
ai-je oublié quelque chose svp ?
Merci
José
Alfred WALLACE
Ah ... heu .....
anonce :
"Cherche une pair d'yeux" ...(et un cerveau en option)
José
Ah ... heu .....
anonce :
"Cherche une pair d'yeux" ...(et un cerveau en option)
"Cherche une pair d'yeux" ...(et un cerveau en option)
José
anonymousA
Effectivement, comme dirait l'autre, y' a de la "confuse" dans l'air, d'autant entre autres "confuses" que si ta fonction ne change jamais de valeur (donc par défaut est toujours à False) , quel est l'interêt de passer par une fonction ? Autant tout de suite mettre Sheets(nomfeuille).CBB_champ_de_page.Visible úlse. Ca ira + vite.
A+
anonymousA wrote:
peut-être simplement interger qui devrait être integer ?
A+
Alfred WALLACE wrote:
Bonjour (re re, et rere)
j'ai cette fonction :
Function renvoie_propri(nom_cbb As String, feuille As String, ligne As interger) As Boolean Sheets("PARAMETRES").Visible = True Sheets("PARAMETRES").Select Range("Z31").Select Range(Selection, Selection.End(xlToRight)).Select ActiveCell.Offset(ligne, Application.Match(titre, Selection, 0) - 1).Select titre_feuille = ActiveCell.Value No_Event = True Sheets("PARAMETRES").Visible = False Sheets(nomfeuille).Select End Function
qui me fait à l'execution : Erreur de compilation : type defini par l'utilisateur non defini
je voudrais l'utiliser comme çà : Sheets(nomfeuille).CBB_champ_de_page.Visible = renvoie_propri("CBB_champ_de_page.Visible", nomfeuille, 7)
ai-je oublié quelque chose svp ?
Merci
José
Effectivement, comme dirait l'autre, y' a de la "confuse" dans l'air,
d'autant entre autres "confuses" que si ta fonction ne change jamais de
valeur (donc par défaut est toujours à False) , quel est l'interêt
de passer par une fonction ? Autant tout de suite mettre
Sheets(nomfeuille).CBB_champ_de_page.Visible =False. Ca ira + vite.
A+
anonymousA wrote:
peut-être simplement interger qui devrait être integer ?
A+
Alfred WALLACE wrote:
Bonjour (re re, et rere)
j'ai cette fonction :
Function renvoie_propri(nom_cbb As String, feuille As String, ligne As
interger) As Boolean
Sheets("PARAMETRES").Visible = True
Sheets("PARAMETRES").Select
Range("Z31").Select
Range(Selection, Selection.End(xlToRight)).Select
ActiveCell.Offset(ligne, Application.Match(titre, Selection, 0) -
1).Select
titre_feuille = ActiveCell.Value
No_Event = True
Sheets("PARAMETRES").Visible = False
Sheets(nomfeuille).Select
End Function
qui me fait à l'execution :
Erreur de compilation :
type defini par l'utilisateur non defini
je voudrais l'utiliser comme çà :
Sheets(nomfeuille).CBB_champ_de_page.Visible =
renvoie_propri("CBB_champ_de_page.Visible", nomfeuille, 7)
Effectivement, comme dirait l'autre, y' a de la "confuse" dans l'air, d'autant entre autres "confuses" que si ta fonction ne change jamais de valeur (donc par défaut est toujours à False) , quel est l'interêt de passer par une fonction ? Autant tout de suite mettre Sheets(nomfeuille).CBB_champ_de_page.Visible úlse. Ca ira + vite.
A+
anonymousA wrote:
peut-être simplement interger qui devrait être integer ?
A+
Alfred WALLACE wrote:
Bonjour (re re, et rere)
j'ai cette fonction :
Function renvoie_propri(nom_cbb As String, feuille As String, ligne As interger) As Boolean Sheets("PARAMETRES").Visible = True Sheets("PARAMETRES").Select Range("Z31").Select Range(Selection, Selection.End(xlToRight)).Select ActiveCell.Offset(ligne, Application.Match(titre, Selection, 0) - 1).Select titre_feuille = ActiveCell.Value No_Event = True Sheets("PARAMETRES").Visible = False Sheets(nomfeuille).Select End Function
qui me fait à l'execution : Erreur de compilation : type defini par l'utilisateur non defini
je voudrais l'utiliser comme çà : Sheets(nomfeuille).CBB_champ_de_page.Visible = renvoie_propri("CBB_champ_de_page.Visible", nomfeuille, 7)
ai-je oublié quelque chose svp ?
Merci
José
Alfred WALLACE
AV wrote:
M'est avis qu'il y a une très grande confusion entre macro et fonction perso... Une fonction ne renvoie qu'un résultat ...
AV
AV, merci, mais pourrais tu me préciser si je peux definir une fonction as variant ?
le but est d'avoir un range varianble en fonction de la feuille nom_feuille dans lequel se trouve mon combobox.
Merci José
Alfred WALLACE
anonymousA wrote:
Effectivement, comme dirait l'autre, y' a de la "confuse" dans l'air, d'autant entre autres "confuses" que si ta fonction ne change jamais de valeur (donc par défaut est toujours à False) , quel est l'interêt de passer par une fonction ? Autant tout de suite mettre Sheets(nomfeuille).CBB_champ_de_page.Visible úlse. Ca ira + vite.
bon, voilà ce que j'essaye de faire depuis des semaines...(voir lorsque je parle de feuille modele que je cherche à dupliquer)
ma feuille modele contiend des CBB. j'accede à mes cbb effectivement comme çà : Sheets(nomfeuille).CBBxxxx.Visible = <la valeur voulue>
en mettant une fonction pour me ramener cette valeur voulue, je duplique la feuille modele, je lui donne un nom (de feuille) "toto", et, ma fonction se charge de retrouver dans une feuille parametre la valeur cherchée, par exemple pour la colonne "toto" à l'indice "ligne" je vais trouver "VRAI".... celui de la colonne à coté (donc une autre feuille) pourra être à "faux". Lorsque je voudrai créer de nouvelles feuilles issues de mon modele, je n'aurai qu'à remplir une colonne de plus dans ma feuille parametre, au lieux de tripoter si maladroitement (comme vous l'avez vu) mon code VBA ...
Si t'es toujours vivant après çà, j'ai une question : donc, la colonne "toto" à la ligne 12 contiend, par exemple un chiffre 40. la ligne 12 correspond au listfillrange de la CBB concernée. Ce 40 me dis que, la liste des valeurs à mettre dans le listfillrange se trouve à la 40ieme colonne d'un range defini ailleurs et qui contiend ceci : COL40LIGNExx "AAAAAAA" COL40LIGNExx+1 "BBBBBBB" COL40LIGNExx+2 <rien_ici> COL40LIGNExx+3 "DDDDDDDD"
et remplissage sera defini as variant ? et pourra donc retourner les valeurs "AAAAAAA","BBBBBBB","DDDDDDDD"
je ne peux pas écrire : Sheets(nomfeuille).CBBxxxx.listfillrange = "parametre![AA10:AA30]" parceque il y a des cellules vides là dedans
ouf....
anonymousA wrote:
Effectivement, comme dirait l'autre, y' a de la "confuse" dans l'air,
d'autant entre autres "confuses" que si ta fonction ne change jamais de
valeur (donc par défaut est toujours à False) , quel est l'interêt
de passer par une fonction ? Autant tout de suite mettre
Sheets(nomfeuille).CBB_champ_de_page.Visible =False. Ca ira + vite.
bon, voilà ce que j'essaye de faire depuis des semaines...(voir
lorsque je parle de feuille modele que je cherche à dupliquer)
ma feuille modele contiend des CBB. j'accede à mes cbb effectivement
comme çà :
Sheets(nomfeuille).CBBxxxx.Visible = <la valeur voulue>
en mettant une fonction pour me ramener cette valeur voulue, je
duplique
la feuille modele, je lui donne un nom (de feuille) "toto", et, ma
fonction se charge de retrouver dans une feuille parametre la valeur
cherchée, par exemple pour la colonne "toto" à l'indice "ligne" je
vais trouver "VRAI".... celui de la colonne à coté (donc une autre
feuille) pourra être à "faux".
Lorsque je voudrai créer de nouvelles feuilles issues de mon modele,
je n'aurai qu'à
remplir une colonne de plus dans ma feuille parametre, au lieux de
tripoter si maladroitement (comme vous l'avez vu) mon code VBA ...
Si t'es toujours vivant après çà, j'ai une question :
donc, la colonne "toto" à la ligne 12 contiend, par exemple un chiffre
40.
la ligne 12 correspond au listfillrange de la CBB concernée.
Ce 40 me dis que, la liste des valeurs à mettre dans le listfillrange
se trouve à
la 40ieme colonne d'un range defini ailleurs et qui contiend ceci :
COL40LIGNExx "AAAAAAA"
COL40LIGNExx+1 "BBBBBBB"
COL40LIGNExx+2 <rien_ici>
COL40LIGNExx+3 "DDDDDDDD"
Effectivement, comme dirait l'autre, y' a de la "confuse" dans l'air, d'autant entre autres "confuses" que si ta fonction ne change jamais de valeur (donc par défaut est toujours à False) , quel est l'interêt de passer par une fonction ? Autant tout de suite mettre Sheets(nomfeuille).CBB_champ_de_page.Visible úlse. Ca ira + vite.
bon, voilà ce que j'essaye de faire depuis des semaines...(voir lorsque je parle de feuille modele que je cherche à dupliquer)
ma feuille modele contiend des CBB. j'accede à mes cbb effectivement comme çà : Sheets(nomfeuille).CBBxxxx.Visible = <la valeur voulue>
en mettant une fonction pour me ramener cette valeur voulue, je duplique la feuille modele, je lui donne un nom (de feuille) "toto", et, ma fonction se charge de retrouver dans une feuille parametre la valeur cherchée, par exemple pour la colonne "toto" à l'indice "ligne" je vais trouver "VRAI".... celui de la colonne à coté (donc une autre feuille) pourra être à "faux". Lorsque je voudrai créer de nouvelles feuilles issues de mon modele, je n'aurai qu'à remplir une colonne de plus dans ma feuille parametre, au lieux de tripoter si maladroitement (comme vous l'avez vu) mon code VBA ...
Si t'es toujours vivant après çà, j'ai une question : donc, la colonne "toto" à la ligne 12 contiend, par exemple un chiffre 40. la ligne 12 correspond au listfillrange de la CBB concernée. Ce 40 me dis que, la liste des valeurs à mettre dans le listfillrange se trouve à la 40ieme colonne d'un range defini ailleurs et qui contiend ceci : COL40LIGNExx "AAAAAAA" COL40LIGNExx+1 "BBBBBBB" COL40LIGNExx+2 <rien_ici> COL40LIGNExx+3 "DDDDDDDD"
et remplissage sera defini as variant ? et pourra donc retourner les valeurs "AAAAAAA","BBBBBBB","DDDDDDDD"
je ne peux pas écrire : Sheets(nomfeuille).CBBxxxx.listfillrange = "parametre![AA10:AA30]" parceque il y a des cellules vides là dedans
ouf....
anonymousA
Si j'ai tout compris , mais rien n'est moins sur !!!.
Tu ne peux affecter un ListFillRange qu'avec quelque chose qui rappelle à Excel une plage contigue et ce au format texte, donc ton affaire d'affectation avec des virgules qui sépare les valeurs est vouée à l'échec
Si tu tiens à utiliser la technique que tu as développée, le plus simple reste sans doute de remplir ton combobox par la méthode Additem en controlant ce remplissage via une vérification de la valeur de chacune des lignes ( dans ton exemple , les lignes xx de la colonne 40)
A+
anonymousA wrote:
Effectivement, comme dirait l'autre, y' a de la "confuse" dans l'air, d'autant entre autres "confuses" que si ta fonction ne change jamais de valeur (donc par défaut est toujours à False) , quel est l'interêt de passer par une fonction ? Autant tout de suite mettre Sheets(nomfeuille).CBB_champ_de_page.Visible úlse. Ca ira + vite.
bon, voilà ce que j'essaye de faire depuis des semaines...(voir lorsque je parle de feuille modele que je cherche à dupliquer)
ma feuille modele contiend des CBB. j'accede à mes cbb effectivement comme çà : Sheets(nomfeuille).CBBxxxx.Visible = <la valeur voulue>
en mettant une fonction pour me ramener cette valeur voulue, je duplique la feuille modele, je lui donne un nom (de feuille) "toto", et, ma fonction se charge de retrouver dans une feuille parametre la valeur cherchée, par exemple pour la colonne "toto" à l'indice "ligne" je vais trouver "VRAI".... celui de la colonne à coté (donc une autre feuille) pourra être à "faux". Lorsque je voudrai créer de nouvelles feuilles issues de mon modele, je n'aurai qu'à remplir une colonne de plus dans ma feuille parametre, au lieux de tripoter si maladroitement (comme vous l'avez vu) mon code VBA ...
Si t'es toujours vivant après çà, j'ai une question : donc, la colonne "toto" à la ligne 12 contiend, par exemple un chiffre 40. la ligne 12 correspond au listfillrange de la CBB concernée. Ce 40 me dis que, la liste des valeurs à mettre dans le listfillrange se trouve à la 40ieme colonne d'un range defini ailleurs et qui contiend ceci : COL40LIGNExx "AAAAAAA" COL40LIGNExx+1 "BBBBBBB" COL40LIGNExx+2 <rien_ici> COL40LIGNExx+3 "DDDDDDDD"
et remplissage sera defini as variant ? et pourra donc retourner les valeurs "AAAAAAA","BBBBBBB","DDDDDDDD"
je ne peux pas écrire : Sheets(nomfeuille).CBBxxxx.listfillrange = "parametre![AA10:AA30]" parceque il y a des cellules vides là dedans
ouf....
Si j'ai tout compris , mais rien n'est moins sur !!!.
Tu ne peux affecter un ListFillRange qu'avec quelque chose qui rappelle
à Excel une plage contigue et ce au format texte, donc ton affaire
d'affectation avec des virgules qui sépare les valeurs est vouée à l'échec
Si tu tiens à utiliser la technique que tu as développée, le plus simple
reste sans doute de remplir ton combobox par la méthode Additem en
controlant ce remplissage via une vérification de la valeur de chacune
des lignes ( dans ton exemple , les lignes xx de la colonne 40)
A+
anonymousA wrote:
Effectivement, comme dirait l'autre, y' a de la "confuse" dans l'air,
d'autant entre autres "confuses" que si ta fonction ne change jamais de
valeur (donc par défaut est toujours à False) , quel est l'interêt
de passer par une fonction ? Autant tout de suite mettre
Sheets(nomfeuille).CBB_champ_de_page.Visible úlse. Ca ira + vite.
bon, voilà ce que j'essaye de faire depuis des semaines...(voir
lorsque je parle de feuille modele que je cherche à dupliquer)
ma feuille modele contiend des CBB. j'accede à mes cbb effectivement
comme çà :
Sheets(nomfeuille).CBBxxxx.Visible = <la valeur voulue>
en mettant une fonction pour me ramener cette valeur voulue, je
duplique
la feuille modele, je lui donne un nom (de feuille) "toto", et, ma
fonction se charge de retrouver dans une feuille parametre la valeur
cherchée, par exemple pour la colonne "toto" à l'indice "ligne" je
vais trouver "VRAI".... celui de la colonne à coté (donc une autre
feuille) pourra être à "faux".
Lorsque je voudrai créer de nouvelles feuilles issues de mon modele,
je n'aurai qu'à
remplir une colonne de plus dans ma feuille parametre, au lieux de
tripoter si maladroitement (comme vous l'avez vu) mon code VBA ...
Si t'es toujours vivant après çà, j'ai une question :
donc, la colonne "toto" à la ligne 12 contiend, par exemple un chiffre
40.
la ligne 12 correspond au listfillrange de la CBB concernée.
Ce 40 me dis que, la liste des valeurs à mettre dans le listfillrange
se trouve à
la 40ieme colonne d'un range defini ailleurs et qui contiend ceci :
COL40LIGNExx "AAAAAAA"
COL40LIGNExx+1 "BBBBBBB"
COL40LIGNExx+2 <rien_ici>
COL40LIGNExx+3 "DDDDDDDD"
Si j'ai tout compris , mais rien n'est moins sur !!!.
Tu ne peux affecter un ListFillRange qu'avec quelque chose qui rappelle à Excel une plage contigue et ce au format texte, donc ton affaire d'affectation avec des virgules qui sépare les valeurs est vouée à l'échec
Si tu tiens à utiliser la technique que tu as développée, le plus simple reste sans doute de remplir ton combobox par la méthode Additem en controlant ce remplissage via une vérification de la valeur de chacune des lignes ( dans ton exemple , les lignes xx de la colonne 40)
A+
anonymousA wrote:
Effectivement, comme dirait l'autre, y' a de la "confuse" dans l'air, d'autant entre autres "confuses" que si ta fonction ne change jamais de valeur (donc par défaut est toujours à False) , quel est l'interêt de passer par une fonction ? Autant tout de suite mettre Sheets(nomfeuille).CBB_champ_de_page.Visible úlse. Ca ira + vite.
bon, voilà ce que j'essaye de faire depuis des semaines...(voir lorsque je parle de feuille modele que je cherche à dupliquer)
ma feuille modele contiend des CBB. j'accede à mes cbb effectivement comme çà : Sheets(nomfeuille).CBBxxxx.Visible = <la valeur voulue>
en mettant une fonction pour me ramener cette valeur voulue, je duplique la feuille modele, je lui donne un nom (de feuille) "toto", et, ma fonction se charge de retrouver dans une feuille parametre la valeur cherchée, par exemple pour la colonne "toto" à l'indice "ligne" je vais trouver "VRAI".... celui de la colonne à coté (donc une autre feuille) pourra être à "faux". Lorsque je voudrai créer de nouvelles feuilles issues de mon modele, je n'aurai qu'à remplir une colonne de plus dans ma feuille parametre, au lieux de tripoter si maladroitement (comme vous l'avez vu) mon code VBA ...
Si t'es toujours vivant après çà, j'ai une question : donc, la colonne "toto" à la ligne 12 contiend, par exemple un chiffre 40. la ligne 12 correspond au listfillrange de la CBB concernée. Ce 40 me dis que, la liste des valeurs à mettre dans le listfillrange se trouve à la 40ieme colonne d'un range defini ailleurs et qui contiend ceci : COL40LIGNExx "AAAAAAA" COL40LIGNExx+1 "BBBBBBB" COL40LIGNExx+2 <rien_ici> COL40LIGNExx+3 "DDDDDDDD"
et remplissage sera defini as variant ? et pourra donc retourner les valeurs "AAAAAAA","BBBBBBB","DDDDDDDD"
je ne peux pas écrire : Sheets(nomfeuille).CBBxxxx.listfillrange = "parametre![AA10:AA30]" parceque il y a des cellules vides là dedans
ouf....
Alfred WALLACE
anonymousA wrote:
Si j'ai tout compris , mais rien n'est moins sur !!!.
Tu ne peux affecter un ListFillRange qu'avec quelque chose qui rappelle à Excel une plage contigue et ce au format texte, donc ton affaire d'affectation avec des virgules qui sépare les valeurs est vouée à l'échec
Si tu tiens à utiliser la technique que tu as développée, le plus s imple reste sans doute de remplir ton combobox par la méthode Additem en controlant ce remplissage via une vérification de la valeur de chacune des lignes ( dans ton exemple , les lignes xx de la colonne 40)
A+
A chaque jour ne suffit plus sa peine....
le remplissage par une boucle comme tu le suggères me pose d'autres pb...
en effet, l'initialisation des CBB se fait dans une macro de feuille : Private Sub Worksheet_Activate()
mon pb est que, le tableau qui contiend les parametres, se trouve dans une autre feuille ! il semble donc que, dans worksheet_activate() je ne puise pas directement zapper dans la feuille "parametres" pour faire un range("xxx").select j'ai l'erreur la methode select de range à échouée....
C'est pour celà que je me suis lancer dans l'écriture de fonctions... mais bon.... çà ne marche pas...
José
anonymousA wrote:
Si j'ai tout compris , mais rien n'est moins sur !!!.
Tu ne peux affecter un ListFillRange qu'avec quelque chose qui rappelle
à Excel une plage contigue et ce au format texte, donc ton affaire
d'affectation avec des virgules qui sépare les valeurs est vouée à l'échec
Si tu tiens à utiliser la technique que tu as développée, le plus s imple
reste sans doute de remplir ton combobox par la méthode Additem en
controlant ce remplissage via une vérification de la valeur de chacune
des lignes ( dans ton exemple , les lignes xx de la colonne 40)
A+
A chaque jour ne suffit plus sa peine....
le remplissage par une boucle comme tu le suggères me pose d'autres
pb...
en effet, l'initialisation des CBB se fait dans une macro de feuille :
Private Sub Worksheet_Activate()
mon pb est que, le tableau qui contiend les parametres, se trouve dans
une autre feuille !
il semble donc que, dans worksheet_activate() je ne puise pas
directement
zapper dans la feuille "parametres" pour faire un range("xxx").select
j'ai l'erreur
la methode select de range à échouée....
C'est pour celà que je me suis lancer dans l'écriture de fonctions...
mais bon....
çà ne marche pas...
Si j'ai tout compris , mais rien n'est moins sur !!!.
Tu ne peux affecter un ListFillRange qu'avec quelque chose qui rappelle à Excel une plage contigue et ce au format texte, donc ton affaire d'affectation avec des virgules qui sépare les valeurs est vouée à l'échec
Si tu tiens à utiliser la technique que tu as développée, le plus s imple reste sans doute de remplir ton combobox par la méthode Additem en controlant ce remplissage via une vérification de la valeur de chacune des lignes ( dans ton exemple , les lignes xx de la colonne 40)
A+
A chaque jour ne suffit plus sa peine....
le remplissage par une boucle comme tu le suggères me pose d'autres pb...
en effet, l'initialisation des CBB se fait dans une macro de feuille : Private Sub Worksheet_Activate()
mon pb est que, le tableau qui contiend les parametres, se trouve dans une autre feuille ! il semble donc que, dans worksheet_activate() je ne puise pas directement zapper dans la feuille "parametres" pour faire un range("xxx").select j'ai l'erreur la methode select de range à échouée....
C'est pour celà que je me suis lancer dans l'écriture de fonctions... mais bon.... çà ne marche pas...