OVH Cloud OVH Cloud

lancement d'excel

6 réponses
Avatar
isabelle
Bonjour =E0 tous.

J'ai une macro avec un argument qui fonctionne=20
parfaitement. Je voudrais maintenant qu'=E0 l'ouverture=20
d'excel elle s'=E9x=E9cute avec la valeur de l'argument de mon=20
choix.

Quelqu'un saurait-il comment proc=E9der ?

Merci

6 réponses

Avatar
michdenis
Bonjour Isabelle,

Si tu publiais ta macro et si tu précisais un peu ce que tu désires, cela aiderait grandement à la conception d'une solution
à ta difficulté.


Salutations!


"isabelle" a écrit dans le message de news:359401c3e279$e44ae6a0$
Bonjour à tous.

J'ai une macro avec un argument qui fonctionne
parfaitement. Je voudrais maintenant qu'à l'ouverture
d'excel elle s'éxécute avec la valeur de l'argument de mon
choix.

Quelqu'un saurait-il comment procéder ?

Merci
Avatar
Le but : afficher uniquement ce qui est demandé. Dans le
classeur, j'ai des plages nommées.

la macro est la suivante :

Sub adressRange(critère As String)
Dim début, fin As String
Dim pos

AfficherLesLignes

Application.Goto reference:=critère
pos = InStr(ActiveWindow.RangeSelection.Address, ":")
début = Left(ActiveWindow.RangeSelection.Address, pos - 1)
début = Right(début, pos - (1 + 3))
fin = Right(ActiveWindow.RangeSelection.Address, Len
(ActiveWindow.RangeSelection.Address) - pos)
fin = Right(fin, Len(fin) - 3)
If début > 1 Then
critère = "1:" & début - 1
Rows(critère).Select
Selection.EntireRow.Hidden = True
End If
critère = fin + 1 & ":280"
Rows(critère).Select
Selection.EntireRow.Hidden = True
ActiveWorkbook.Save

End Sub

-----Message d'origine-----
Bonjour Isabelle,

Si tu publiais ta macro et si tu précisais un peu ce que
tu désires, cela aiderait grandement à la conception d'une

solution
à ta difficulté.


Salutations!


"isabelle" a écrit
dans le message de news:359401c3e279$e44ae6a0

$
Bonjour à tous.

J'ai une macro avec un argument qui fonctionne
parfaitement. Je voudrais maintenant qu'à l'ouverture
d'excel elle s'éxécute avec la valeur de l'argument de mon
choix.

Quelqu'un saurait-il comment procéder ?

Merci


.



Avatar
michdenis
Bonjour,

Désolé, mais je n'ai pas compris ce que tu désires faire. Cependant, si tu as une version d'excel 2000 ou plus récente, ta
macro pourrait être réécrite de cette façon :
'---------------------------
Sub adressRange()
Dim début As String, fin As String
Dim A As String

'AfficherLesLignes

Application.Goto reference:=Range("critère")
A = Split(ActiveWindow.RangeSelection.Address, "$")(2)
début = Left(A, Len(A) - 1)
fin = Split(ActiveWindow.RangeSelection.Address, "$")(4)
If Val(début) > 1 Then
Rows(début & ":" & début - 1).EntireRow.Hidden = True
Else
Rows(fin + 1 & ":280").EntireRow.Hidden = True
End If
ActiveWorkbook.Save

End Sub
'---------------------------


P.S. Je sais que tu veux masquer des lignes.. mais explique à quel moment tu voudrais le faire( à l'ouverture du fichier ?
Est-ce que ton fichier est ouvert par une macro ? , quel est le nom de la feuille où ces lignes doivent être masqué? ) . Et
en dernier lieu, quel est le critère qui fait qu'une ligne doit être masqué ou pas ?


Salutations!



a écrit dans le message de news:3a3401c3e27f$486e54a0$
Le but : afficher uniquement ce qui est demandé. Dans le
classeur, j'ai des plages nommées.

la macro est la suivante :

Sub adressRange(critère As String)
Dim début, fin As String
Dim pos

AfficherLesLignes

Application.Goto reference:=critère
pos = InStr(ActiveWindow.RangeSelection.Address, ":")
début = Left(ActiveWindow.RangeSelection.Address, pos - 1)
début = Right(début, pos - (1 + 3))
fin = Right(ActiveWindow.RangeSelection.Address, Len
(ActiveWindow.RangeSelection.Address) - pos)
fin = Right(fin, Len(fin) - 3)
If début > 1 Then
critère = "1:" & début - 1
Rows(critère).Select
Selection.EntireRow.Hidden = True
End If
critère = fin + 1 & ":280"
Rows(critère).Select
Selection.EntireRow.Hidden = True
ActiveWorkbook.Save

End Sub

-----Message d'origine-----
Bonjour Isabelle,

Si tu publiais ta macro et si tu précisais un peu ce que
tu désires, cela aiderait grandement à la conception d'une

solution
à ta difficulté.


Salutations!


"isabelle" a écrit
dans le message de news:359401c3e279$e44ae6a0

$
Bonjour à tous.

J'ai une macro avec un argument qui fonctionne
parfaitement. Je voudrais maintenant qu'à l'ouverture
d'excel elle s'éxécute avec la valeur de l'argument de mon
choix.

Quelqu'un saurait-il comment procéder ?

Merci


.



Avatar
Isabelle
Merci pour l'amélioration de la macro. Cela fait quelque
temps que je ne m'y suis collée.

En fait, mon objectif est lié au web. Lorsque que
quelqu'un clic sur un lien, je ne veux afficher que la
catégorie que ce lien représente.

Exemple : classeur regroupant l'ensemble des composants
d'un PC. En cliquant sur "DD" (page web) je n'affiche que
ce qui est en rapport avec les disques durs. D'où la macro.
Donc quand je clique sur le lien, excel doit ouvrir le
classeur et n'afficher que les infos relatives à "DD".
Donc j'ai créé des plages nommées dans excel pour chaque
catégorie désirée. Ainsi lorsque je demande "boitier"
seuls les éléments concernés apparraissent.

Merci de ton aide.
-----Message d'origine-----
Bonjour,

Désolé, mais je n'ai pas compris ce que tu désires faire.
Cependant, si tu as une version d'excel 2000 ou plus

récente, ta
macro pourrait être réécrite de cette façon :
'---------------------------
Sub adressRange()
Dim début As String, fin As String
Dim A As String

'AfficherLesLignes

Application.Goto reference:=Range("critère")
A = Split(ActiveWindow.RangeSelection.Address, "$")(2)
début = Left(A, Len(A) - 1)
fin = Split(ActiveWindow.RangeSelection.Address, "$")(4)
If Val(début) > 1 Then
Rows(début & ":" & début - 1).EntireRow.Hidden = True
Else
Rows(fin + 1 & ":280").EntireRow.Hidden = True
End If
ActiveWorkbook.Save

End Sub
'---------------------------


P.S. Je sais que tu veux masquer des lignes.. mais
explique à quel moment tu voudrais le faire( à l'ouverture

du fichier ?
Est-ce que ton fichier est ouvert par une macro ? , quel
est le nom de la feuille où ces lignes doivent être

masqué? ) . Et
en dernier lieu, quel est le critère qui fait qu'une
ligne doit être masqué ou pas ?



Salutations!



a écrit dans le
message de news:3a3401c3e27f$486e54a0$

Le but : afficher uniquement ce qui est demandé. Dans le
classeur, j'ai des plages nommées.

la macro est la suivante :

Sub adressRange(critère As String)
Dim début, fin As String
Dim pos

AfficherLesLignes

Application.Goto reference:=critère
pos = InStr(ActiveWindow.RangeSelection.Address, ":")
début = Left(ActiveWindow.RangeSelection.Address, pos - 1)
début = Right(début, pos - (1 + 3))
fin = Right(ActiveWindow.RangeSelection.Address, Len
(ActiveWindow.RangeSelection.Address) - pos)
fin = Right(fin, Len(fin) - 3)
If début > 1 Then
critère = "1:" & début - 1
Rows(critère).Select
Selection.EntireRow.Hidden = True
End If
critère = fin + 1 & ":280"
Rows(critère).Select
Selection.EntireRow.Hidden = True
ActiveWorkbook.Save

End Sub

-----Message d'origine-----
Bonjour Isabelle,

Si tu publiais ta macro et si tu précisais un peu ce que
tu désires, cela aiderait grandement à la conception d'une

solution
à ta difficulté.


Salutations!


"isabelle" a écrit
dans le message de news:359401c3e279$e44ae6a0

$
Bonjour à tous.

J'ai une macro avec un argument qui fonctionne
parfaitement. Je voudrais maintenant qu'à l'ouverture
d'excel elle s'éxécute avec la valeur de l'argument de
mon


choix.

Quelqu'un saurait-il comment procéder ?

Merci


.




.




Avatar
michdenis
Bonjour Isabelle,

Je te propose cette macro :

Tu n'as qu'à définir dans cette ligne de code, le nom de la plage nommée qui doit s'afficher.

Critère étant le nom de la plage nommée, et tu auras que ces lignes d'afficher.
Set Rg = Range("critère")


Est-ce que cela te convient ?

'-------------------------
Sub MasquéLignes()

Dim Rg As Range
Set Rg = Range("critère")

Application.ScreenUpdating = False
Application.Goto reference:=Rg
With Worksheets(Rg.Parent.Name)
.ScrollArea = ""
Cells.EntireRow.Hidden = True
Rg.EntireRow.Hidden = False
ActiveWindow.ScrollRow = Rg(1).Row
Rg(1).Select
End With
End Sub
'-------------------------


Salutations!



"Isabelle" a écrit dans le message de news:3a7901c3e289$866d1ac0$
Merci pour l'amélioration de la macro. Cela fait quelque
temps que je ne m'y suis collée.

En fait, mon objectif est lié au web. Lorsque que
quelqu'un clic sur un lien, je ne veux afficher que la
catégorie que ce lien représente.

Exemple : classeur regroupant l'ensemble des composants
d'un PC. En cliquant sur "DD" (page web) je n'affiche que
ce qui est en rapport avec les disques durs. D'où la macro.
Donc quand je clique sur le lien, excel doit ouvrir le
classeur et n'afficher que les infos relatives à "DD".
Donc j'ai créé des plages nommées dans excel pour chaque
catégorie désirée. Ainsi lorsque je demande "boitier"
seuls les éléments concernés apparraissent.

Merci de ton aide.
-----Message d'origine-----
Bonjour,

Désolé, mais je n'ai pas compris ce que tu désires faire.
Cependant, si tu as une version d'excel 2000 ou plus

récente, ta
macro pourrait être réécrite de cette façon :
'---------------------------
Sub adressRange()
Dim début As String, fin As String
Dim A As String

'AfficherLesLignes

Application.Goto reference:=Range("critère")
A = Split(ActiveWindow.RangeSelection.Address, "$")(2)
début = Left(A, Len(A) - 1)
fin = Split(ActiveWindow.RangeSelection.Address, "$")(4)
If Val(début) > 1 Then
Rows(début & ":" & début - 1).EntireRow.Hidden = True
Else
Rows(fin + 1 & ":280").EntireRow.Hidden = True
End If
ActiveWorkbook.Save

End Sub
'---------------------------


P.S. Je sais que tu veux masquer des lignes.. mais
explique à quel moment tu voudrais le faire( à l'ouverture

du fichier ?
Est-ce que ton fichier est ouvert par une macro ? , quel
est le nom de la feuille où ces lignes doivent être

masqué? ) . Et
en dernier lieu, quel est le critère qui fait qu'une
ligne doit être masqué ou pas ?



Salutations!



a écrit dans le
message de news:3a3401c3e27f$486e54a0$

Le but : afficher uniquement ce qui est demandé. Dans le
classeur, j'ai des plages nommées.

la macro est la suivante :

Sub adressRange(critère As String)
Dim début, fin As String
Dim pos

AfficherLesLignes

Application.Goto reference:=critère
pos = InStr(ActiveWindow.RangeSelection.Address, ":")
début = Left(ActiveWindow.RangeSelection.Address, pos - 1)
début = Right(début, pos - (1 + 3))
fin = Right(ActiveWindow.RangeSelection.Address, Len
(ActiveWindow.RangeSelection.Address) - pos)
fin = Right(fin, Len(fin) - 3)
If début > 1 Then
critère = "1:" & début - 1
Rows(critère).Select
Selection.EntireRow.Hidden = True
End If
critère = fin + 1 & ":280"
Rows(critère).Select
Selection.EntireRow.Hidden = True
ActiveWorkbook.Save

End Sub

-----Message d'origine-----
Bonjour Isabelle,

Si tu publiais ta macro et si tu précisais un peu ce que
tu désires, cela aiderait grandement à la conception d'une

solution
à ta difficulté.


Salutations!


"isabelle" a écrit
dans le message de news:359401c3e279$e44ae6a0

$
Bonjour à tous.

J'ai une macro avec un argument qui fonctionne
parfaitement. Je voudrais maintenant qu'à l'ouverture
d'excel elle s'éxécute avec la valeur de l'argument de
mon


choix.

Quelqu'un saurait-il comment procéder ?

Merci


.




.




Avatar
Isabelle
Merci à toi d'avoir pris le temps de me guider. Je vais
mettre en oeuvre ta macro.

Cordialement
-----Message d'origine-----
Bonjour Isabelle,

Je te propose cette macro :

Tu n'as qu'à définir dans cette ligne de code, le nom de
la plage nommée qui doit s'afficher.


Critère étant le nom de la plage nommée, et tu auras que
ces lignes d'afficher.

Set Rg = Range("critère")


Est-ce que cela te convient ?

'-------------------------
Sub MasquéLignes()

Dim Rg As Range
Set Rg = Range("critère")

Application.ScreenUpdating = False
Application.Goto reference:=Rg
With Worksheets(Rg.Parent.Name)
.ScrollArea = ""
Cells.EntireRow.Hidden = True
Rg.EntireRow.Hidden = False
ActiveWindow.ScrollRow = Rg(1).Row
Rg(1).Select
End With
End Sub
'-------------------------


Salutations!



"Isabelle" a écrit
dans le message de news:3a7901c3e289$866d1ac0

$
Merci pour l'amélioration de la macro. Cela fait quelque
temps que je ne m'y suis collée.

En fait, mon objectif est lié au web. Lorsque que
quelqu'un clic sur un lien, je ne veux afficher que la
catégorie que ce lien représente.

Exemple : classeur regroupant l'ensemble des composants
d'un PC. En cliquant sur "DD" (page web) je n'affiche que
ce qui est en rapport avec les disques durs. D'où la
macro.

Donc quand je clique sur le lien, excel doit ouvrir le
classeur et n'afficher que les infos relatives à "DD".
Donc j'ai créé des plages nommées dans excel pour chaque
catégorie désirée. Ainsi lorsque je demande "boitier"
seuls les éléments concernés apparraissent.

Merci de ton aide.
-----Message d'origine-----
Bonjour,

Désolé, mais je n'ai pas compris ce que tu désires faire.
Cependant, si tu as une version d'excel 2000 ou plus

récente, ta
macro pourrait être réécrite de cette façon :
'---------------------------
Sub adressRange()
Dim début As String, fin As String
Dim A As String

'AfficherLesLignes

Application.Goto reference:=Range("critère")
A = Split(ActiveWindow.RangeSelection.Address, "$")(2)
début = Left(A, Len(A) - 1)
fin = Split(ActiveWindow.RangeSelection.Address, "$")(4)
If Val(début) > 1 Then
Rows(début & ":" & début - 1).EntireRow.Hidden = True
Else
Rows(fin + 1 & ":280").EntireRow.Hidden = True
End If
ActiveWorkbook.Save

End Sub
'---------------------------


P.S. Je sais que tu veux masquer des lignes.. mais
explique à quel moment tu voudrais le faire( à l'ouverture

du fichier ?
Est-ce que ton fichier est ouvert par une macro ? , quel
est le nom de la feuille où ces lignes doivent être

masqué? ) . Et
en dernier lieu, quel est le critère qui fait qu'une
ligne doit être masqué ou pas ?



Salutations!



a écrit dans le
message de news:3a3401c3e27f$486e54a0$

Le but : afficher uniquement ce qui est demandé. Dans le
classeur, j'ai des plages nommées.

la macro est la suivante :

Sub adressRange(critère As String)
Dim début, fin As String
Dim pos

AfficherLesLignes

Application.Goto reference:=critère
pos = InStr(ActiveWindow.RangeSelection.Address, ":")
début = Left(ActiveWindow.RangeSelection.Address, pos -
1)


début = Right(début, pos - (1 + 3))
fin = Right(ActiveWindow.RangeSelection.Address, Len
(ActiveWindow.RangeSelection.Address) - pos)
fin = Right(fin, Len(fin) - 3)
If début > 1 Then
critère = "1:" & début - 1
Rows(critère).Select
Selection.EntireRow.Hidden = True
End If
critère = fin + 1 & ":280"
Rows(critère).Select
Selection.EntireRow.Hidden = True
ActiveWorkbook.Save

End Sub

-----Message d'origine-----
Bonjour Isabelle,

Si tu publiais ta macro et si tu précisais un peu ce que
tu désires, cela aiderait grandement à la conception

d'une


solution
à ta difficulté.


Salutations!


"isabelle" a écrit
dans le message de news:359401c3e279$e44ae6a0

$
Bonjour à tous.

J'ai une macro avec un argument qui fonctionne
parfaitement. Je voudrais maintenant qu'à l'ouverture
d'excel elle s'éxécute avec la valeur de l'argument de
mon


choix.

Quelqu'un saurait-il comment procéder ?

Merci


.




.




.