Je me permets de vous remonter ce post n'ayant pas eu de suite ... étouffé
par la pléthore de demandes ...et n'étant toujours pas résolu
Par ailleurs, je me permets d'ajouter un point 3 : est il possible de
d'empêcher les utilisateurs d'utiliser la fonction autofilter après que la
macro ait fait son oeuvre ???
en vous remerciant pour votre aide,
Cordialement,
K.
Bonjour Clément,
Merci pour votre réponse,
en fait la casse a bien été respectée pour le champs sheets(""),
et quand j'utilise Selection cela déclenche une erreur de type 13.
Donc je sèche ...marche pô ...
K.
"Clément Marcotte" a écrit :
> Bonjour,
>
> > 1. il ne s'éxecute que si le classeur est positionné sur la feuille
> param
> > malgrès le "Sheets("Param").Select" ??? pourquoi tant de haine ? (au
> départ,
> > dans mon esprit tortueux la feuille param était censée être masqué
> ....du coup
> > forcément ça marche beaucoup moins bien ...)
>
> À première vue, et pas testé:
>
> Contrairement au DOS, Il y a des situations où VBA est sensible à la
> casse des mots. Si tu veux sélectionner la feuille "param", tu dois
> avoir Sheets("param").select et si tu veux sélectionner la feuille
> paRam, tu dois avoir Sheets("paRam").select etc.
>
> Mais pour des adresses de cellule, range("z1") ou range("Z1"), c'est
> pareil.
>
>
>
> > 2.en fait comme ce n'est pas marqué ici la msgbox était censée
> retourner les
> > deux cellules sélectionnées au préalable, mais là je n'ai pas trouvé
> le moyen
> > de lui faire comprendre que c'est la sélection que je veux pas que
> > l'activecell ...
>
> Toujours à première vue et pas testé; remplace ActiveCell par
> selection.
>
> --
> On apprend pas à un vieux singe à faire des grimaces
>
>
Bonjour,
Débutant en vba, je crie "à l'aide !!! arggghh"
j'ai bidouillé ce code à l'aide ressources sur le net (et un peu avec ma
petite tête vide ...) :
Function fOSUserName() As String
' Retourne le nom d'usager fourni lors du branchement au réseau.
Dim lngLen As Long, lngX As Long
Dim strUserName As String
strUserName = String$(254, 0)
lngLen = 255
lngX = apiGetUserName(strUserName, lngLen)
If lngX <> 0 Then
fOSUserName = Left$(strUserName, lngLen - 1)
Else
fOSUserName = ""
End If
'sélectionne le FOusername dans la liste de param
Sheets("Param").Select
Range("I:I").Select
Selection.Find(What:=fOSUserName, After:=ActiveCell, LookIn:=xlFormulas, _
LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
MatchCase:=False, SearchFormat:=False).Select
'décale la sélection d'une ligne pour sélectionner le prénom
Dim LigVar, ColVar
LigVar = 0
ColVar = 1
Selection.Offset(LigVar, ColVar).Select
'ajoute la colonne nom à la sélection
With ActiveCell
Union(.Cells, .Offset(0, 1)).Select
End With
'affiche le contenu de la sélection
MsgBox "bonjour " & ActiveCell
or :
1. il ne s'éxecute que si le classeur est positionné sur la feuille param
malgrès le "Sheets("Param").Select" ??? pourquoi tant de haine ? (au départ,
dans mon esprit tortueux la feuille param était censée être masqué ...du coup
forcément ça marche beaucoup moins bien ...)
2.en fait comme ce n'est pas marqué ici la msgbox était censée retourner les
deux cellules sélectionnées au préalable, mais là je n'ai pas trouvé le moyen
de lui faire comprendre que c'est la sélection que je veux pas que
l'activecell ...
j'espère que c'est à peu près clair ...
si vous avez la solution ....
D'avance merci !!!
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Clément Marcotte
Bonjour,
La macro est-elle dans un module standard, ou dans le module de la feuille ?
Le module de la feuille s'obtient avec un clic-droit sur l'icône de la feuille, et affichage du code. Le module standard s'obtient avec Insertion - module.
-- On apprend pas à un vieux singe à faire des grimaces "kalinaja" a écrit dans le message de news:
Bonjour,
Je me permets de vous remonter ce post n'ayant pas eu de suite ... étouffé
par la pléthore de demandes ...et n'étant toujours pas résolu
Par ailleurs, je me permets d'ajouter un point 3 : est il possible de
d'empêcher les utilisateurs d'utiliser la fonction autofilter après que la
macro ait fait son oeuvre ???
en vous remerciant pour votre aide, Cordialement,
K.
Bonjour Clément,
Merci pour votre réponse,
en fait la casse a bien été respectée pour le champs sheets(""), et quand j'utilise Selection cela déclenche une erreur de type 13.
Donc je sèche ...marche pô ...
K.
Bonjour,
1. il ne s'éxecute que si le classeur est positionné sur la feuille
param
malgrès le "Sheets("Param").Select" ??? pourquoi tant de haine ? (au
départ,
dans mon esprit tortueux la feuille param était censée être masqué
....du coup
forcément ça marche beaucoup moins bien ...)
À première vue, et pas testé:
Contrairement au DOS, Il y a des situations où VBA est sensible à la
casse des mots. Si tu veux sélectionner la feuille "param", tu dois
avoir Sheets("param").select et si tu veux sélectionner la feuille paRam, tu dois avoir Sheets("paRam").select etc.
Mais pour des adresses de cellule, range("z1") ou range("Z1"), c'est
pareil.
2.en fait comme ce n'est pas marqué ici la msgbox était censée retourner les
deux cellules sélectionnées au préalable, mais là je n'ai pas trouvé
le moyen
de lui faire comprendre que c'est la sélection que je veux pas que
l'activecell ...
Toujours à première vue et pas testé; remplace ActiveCell par selection.
-- On apprend pas à un vieux singe à faire des grimaces
Bonjour,
Débutant en vba, je crie "à l'aide !!! arggghh"
j'ai bidouillé ce code à l'aide ressources sur le net (et un peu avec ma
petite tête vide ...) :
Function fOSUserName() As String ' Retourne le nom d'usager fourni lors du branchement au réseau. Dim lngLen As Long, lngX As Long Dim strUserName As String strUserName = String$(254, 0) lngLen = 255 lngX = apiGetUserName(strUserName, lngLen) If lngX <> 0 Then fOSUserName = Left$(strUserName, lngLen - 1) Else fOSUserName = "" End If
'sélectionne le FOusername dans la liste de param Sheets("Param").Select Range("I:I").Select Selection.Find(What:=fOSUserName, After:¬tiveCell, LookIn:=xlFormulas, _
'décale la sélection d'une ligne pour sélectionner le prénom Dim LigVar, ColVar LigVar = 0 ColVar = 1 Selection.Offset(LigVar, ColVar).Select
'ajoute la colonne nom à la sélection With ActiveCell Union(.Cells, .Offset(0, 1)).Select End With 'affiche le contenu de la sélection MsgBox "bonjour " & ActiveCell
or : 1. il ne s'éxecute que si le classeur est positionné sur la feuille param
malgrès le "Sheets("Param").Select" ??? pourquoi tant de haine ? (au départ,
dans mon esprit tortueux la feuille param était censée être masqué ...du coup
forcément ça marche beaucoup moins bien ...) 2.en fait comme ce n'est pas marqué ici la msgbox était censée retourner les
deux cellules sélectionnées au préalable, mais là je n'ai pas trouvé le moyen
de lui faire comprendre que c'est la sélection que je veux pas que l'activecell ...
j'espère que c'est à peu près clair ... si vous avez la solution .... D'avance merci !!!
K.
Bonjour,
La macro est-elle dans un module standard, ou dans le module de la
feuille ?
Le module de la feuille s'obtient avec un clic-droit sur l'icône de la
feuille, et affichage du code. Le module standard s'obtient avec
Insertion - module.
--
On apprend pas à un vieux singe à faire des grimaces
"kalinaja" <kalinaja@discussions.microsoft.com> a écrit dans le
message de news:099765F0-445C-4B6C-993F-C353DF9C073B@microsoft.com...
Bonjour,
Je me permets de vous remonter ce post n'ayant pas eu de suite ...
étouffé
par la pléthore de demandes ...et n'étant toujours pas résolu
Par ailleurs, je me permets d'ajouter un point 3 : est il possible
de
d'empêcher les utilisateurs d'utiliser la fonction autofilter après
que la
macro ait fait son oeuvre ???
en vous remerciant pour votre aide,
Cordialement,
K.
Bonjour Clément,
Merci pour votre réponse,
en fait la casse a bien été respectée pour le champs sheets(""),
et quand j'utilise Selection cela déclenche une erreur de type 13.
Donc je sèche ...marche pô ...
K.
Bonjour,
1. il ne s'éxecute que si le classeur est positionné sur la
feuille
param
malgrès le "Sheets("Param").Select" ??? pourquoi tant de haine ?
(au
départ,
dans mon esprit tortueux la feuille param était censée être
masqué
....du coup
forcément ça marche beaucoup moins bien ...)
À première vue, et pas testé:
Contrairement au DOS, Il y a des situations où VBA est sensible à
la
casse des mots. Si tu veux sélectionner la feuille "param", tu
dois
avoir Sheets("param").select et si tu veux sélectionner la feuille
paRam, tu dois avoir Sheets("paRam").select etc.
Mais pour des adresses de cellule, range("z1") ou range("Z1"),
c'est
pareil.
2.en fait comme ce n'est pas marqué ici la msgbox était censée
retourner les
deux cellules sélectionnées au préalable, mais là je n'ai pas
trouvé
le moyen
de lui faire comprendre que c'est la sélection que je veux pas
que
l'activecell ...
Toujours à première vue et pas testé; remplace ActiveCell par
selection.
--
On apprend pas à un vieux singe à faire des grimaces
Bonjour,
Débutant en vba, je crie "à l'aide !!! arggghh"
j'ai bidouillé ce code à l'aide ressources sur le net (et un peu
avec ma
petite tête vide ...) :
Function fOSUserName() As String
' Retourne le nom d'usager fourni lors du branchement au réseau.
Dim lngLen As Long, lngX As Long
Dim strUserName As String
strUserName = String$(254, 0)
lngLen = 255
lngX = apiGetUserName(strUserName, lngLen)
If lngX <> 0 Then
fOSUserName = Left$(strUserName, lngLen - 1)
Else
fOSUserName = ""
End If
'sélectionne le FOusername dans la liste de param
Sheets("Param").Select
Range("I:I").Select
Selection.Find(What:=fOSUserName, After:¬tiveCell,
LookIn:=xlFormulas, _
'décale la sélection d'une ligne pour sélectionner le prénom
Dim LigVar, ColVar
LigVar = 0
ColVar = 1
Selection.Offset(LigVar, ColVar).Select
'ajoute la colonne nom à la sélection
With ActiveCell
Union(.Cells, .Offset(0, 1)).Select
End With
'affiche le contenu de la sélection
MsgBox "bonjour " & ActiveCell
or :
1. il ne s'éxecute que si le classeur est positionné sur la feuille
param
malgrès le "Sheets("Param").Select" ??? pourquoi tant de haine ? (au
départ,
dans mon esprit tortueux la feuille param était censée être masqué
...du coup
forcément ça marche beaucoup moins bien ...)
2.en fait comme ce n'est pas marqué ici la msgbox était censée
retourner les
deux cellules sélectionnées au préalable, mais là je n'ai pas trouvé
le moyen
de lui faire comprendre que c'est la sélection que je veux pas que
l'activecell ...
j'espère que c'est à peu près clair ...
si vous avez la solution ....
D'avance merci !!!
La macro est-elle dans un module standard, ou dans le module de la feuille ?
Le module de la feuille s'obtient avec un clic-droit sur l'icône de la feuille, et affichage du code. Le module standard s'obtient avec Insertion - module.
-- On apprend pas à un vieux singe à faire des grimaces "kalinaja" a écrit dans le message de news:
Bonjour,
Je me permets de vous remonter ce post n'ayant pas eu de suite ... étouffé
par la pléthore de demandes ...et n'étant toujours pas résolu
Par ailleurs, je me permets d'ajouter un point 3 : est il possible de
d'empêcher les utilisateurs d'utiliser la fonction autofilter après que la
macro ait fait son oeuvre ???
en vous remerciant pour votre aide, Cordialement,
K.
Bonjour Clément,
Merci pour votre réponse,
en fait la casse a bien été respectée pour le champs sheets(""), et quand j'utilise Selection cela déclenche une erreur de type 13.
Donc je sèche ...marche pô ...
K.
Bonjour,
1. il ne s'éxecute que si le classeur est positionné sur la feuille
param
malgrès le "Sheets("Param").Select" ??? pourquoi tant de haine ? (au
départ,
dans mon esprit tortueux la feuille param était censée être masqué
....du coup
forcément ça marche beaucoup moins bien ...)
À première vue, et pas testé:
Contrairement au DOS, Il y a des situations où VBA est sensible à la
casse des mots. Si tu veux sélectionner la feuille "param", tu dois
avoir Sheets("param").select et si tu veux sélectionner la feuille paRam, tu dois avoir Sheets("paRam").select etc.
Mais pour des adresses de cellule, range("z1") ou range("Z1"), c'est
pareil.
2.en fait comme ce n'est pas marqué ici la msgbox était censée retourner les
deux cellules sélectionnées au préalable, mais là je n'ai pas trouvé
le moyen
de lui faire comprendre que c'est la sélection que je veux pas que
l'activecell ...
Toujours à première vue et pas testé; remplace ActiveCell par selection.
-- On apprend pas à un vieux singe à faire des grimaces
Bonjour,
Débutant en vba, je crie "à l'aide !!! arggghh"
j'ai bidouillé ce code à l'aide ressources sur le net (et un peu avec ma
petite tête vide ...) :
Function fOSUserName() As String ' Retourne le nom d'usager fourni lors du branchement au réseau. Dim lngLen As Long, lngX As Long Dim strUserName As String strUserName = String$(254, 0) lngLen = 255 lngX = apiGetUserName(strUserName, lngLen) If lngX <> 0 Then fOSUserName = Left$(strUserName, lngLen - 1) Else fOSUserName = "" End If
'sélectionne le FOusername dans la liste de param Sheets("Param").Select Range("I:I").Select Selection.Find(What:=fOSUserName, After:¬tiveCell, LookIn:=xlFormulas, _
'décale la sélection d'une ligne pour sélectionner le prénom Dim LigVar, ColVar LigVar = 0 ColVar = 1 Selection.Offset(LigVar, ColVar).Select
'ajoute la colonne nom à la sélection With ActiveCell Union(.Cells, .Offset(0, 1)).Select End With 'affiche le contenu de la sélection MsgBox "bonjour " & ActiveCell
or : 1. il ne s'éxecute que si le classeur est positionné sur la feuille param
malgrès le "Sheets("Param").Select" ??? pourquoi tant de haine ? (au départ,
dans mon esprit tortueux la feuille param était censée être masqué ...du coup
forcément ça marche beaucoup moins bien ...) 2.en fait comme ce n'est pas marqué ici la msgbox était censée retourner les
deux cellules sélectionnées au préalable, mais là je n'ai pas trouvé le moyen
de lui faire comprendre que c'est la sélection que je veux pas que l'activecell ...
j'espère que c'est à peu près clair ... si vous avez la solution .... D'avance merci !!!