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

macro auto_open qui ne s'execute pas

11 réponses
Avatar
Laure
bonjour à tous,

voici mon problème :
dans un fichier, j'ai une colonne avec une validation de données (donc une
liste déroulante avec 2 choix : product et component).
je voudrais que lorsque l'utilisateur choisit "Product" dans cette cellule,
la ligne de cette cellule passe en gras. Et cela de façon automatique sans
que l'utilisateur fasse autre chose...
J'ai donc créé une macro que voici :
Sub gras()

If ActiveCell.Value = "Product" Then
Var = ActiveCell.Row
var2 = Var & ":" & Var
Rows(var2).Select
Selection.Font.Bold = True
ActiveCell.Offset(0, 1).Select
End If
End Sub

Et j'ai mis une macro à l'ouverture du fichier :
Sub auto_open()

ActiveWorkbook.Worksheets("Products Bought").OnEntry = "gras"

End Sub

Seulement ça ne marche pas. Autant ma macro gras() marche bien si je tape
moi-même le mot "Product" dans ma cellule et que je lance ensuite la macro...
autant elle ne s'execute pas toute seule... comme si Excel ne récupérait pas
la donnée dans la liste déroulante...

Avez-vous une idée du "pourquoi ça marche pas" ?
En espérant avoir été assez claire et précise et en vous remerciant par
avance...
Laure

10 réponses

1 2
Avatar
Jacky
Bonsoir,
La mise en forme conditionnelle ne fait pas ??
Les cellules liste de validation en colonne A

Sélection total des lignes par leur n°
format / mise en forme conditionnelle
Condition 1
=$A1="product"
format etc......

A1 étant la première cellule concernée
--
Salutations
JJ


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

bonjour à tous,

voici mon problème :
dans un fichier, j'ai une colonne avec une validation de données (donc une
liste déroulante avec 2 choix : product et component).
je voudrais que lorsque l'utilisateur choisit "Product" dans cette
cellule,
la ligne de cette cellule passe en gras. Et cela de façon automatique sans
que l'utilisateur fasse autre chose...
J'ai donc créé une macro que voici :
Sub gras()

If ActiveCell.Value = "Product" Then
Var = ActiveCell.Row
var2 = Var & ":" & Var
Rows(var2).Select
Selection.Font.Bold = True
ActiveCell.Offset(0, 1).Select
End If
End Sub

Et j'ai mis une macro à l'ouverture du fichier :
Sub auto_open()

ActiveWorkbook.Worksheets("Products Bought").OnEntry = "gras"

End Sub

Seulement ça ne marche pas. Autant ma macro gras() marche bien si je tape
moi-même le mot "Product" dans ma cellule et que je lance ensuite la
macro...
autant elle ne s'execute pas toute seule... comme si Excel ne récupérait
pas
la donnée dans la liste déroulante...

Avez-vous une idée du "pourquoi ça marche pas" ?
En espérant avoir été assez claire et précise et en vous remerciant par
avance...
Laure


Avatar
JB
Bonjour,

auto_open doit être dans un module standard(Il y a également
l'événement WorkBook_open).

JB
On 4 avr, 17:55, "Jacky" wrote:
Bonsoir,
La mise en forme conditionnelle ne fait pas ??
Les cellules liste de validation en colonne A

Sélection total des lignes par leur n°
format / mise en forme conditionnelle
Condition 1
=$A1="product"
format etc......

A1 étant la première cellule concernée
--
Salutations
JJ

"Laure" a écrit dans le message de new s:




bonjour à tous,

voici mon problème :
dans un fichier, j'ai une colonne avec une validation de données (don c une
liste déroulante avec 2 choix : product et component).
je voudrais que lorsque l'utilisateur choisit "Product" dans cette
cellule,
la ligne de cette cellule passe en gras. Et cela de façon automatique sans
que l'utilisateur fasse autre chose...
J'ai donc créé une macro que voici :
Sub gras()

If ActiveCell.Value = "Product" Then
Var = ActiveCell.Row
var2 = Var & ":" & Var
Rows(var2).Select
Selection.Font.Bold = True
ActiveCell.Offset(0, 1).Select
End If
End Sub

Et j'ai mis une macro à l'ouverture du fichier :
Sub auto_open()

ActiveWorkbook.Worksheets("Products Bought").OnEntry = "gras"

End Sub

Seulement ça ne marche pas. Autant ma macro gras() marche bien si je tape
moi-même le mot "Product" dans ma cellule et que je lance ensuite la
macro...
autant elle ne s'execute pas toute seule... comme si Excel ne récup érait
pas
la donnée dans la liste déroulante...

Avez-vous une idée du "pourquoi ça marche pas" ?
En espérant avoir été assez claire et précise et en vous remerc iant par
avance...
Laure- Masquer le texte des messages précédents -


- Afficher le texte des messages précédents -



Avatar
Laure
le problème c'est que mon fichier a déjà 3 mises en forme conditionnelle


Bonsoir,
La mise en forme conditionnelle ne fait pas ??
Les cellules liste de validation en colonne A

Sélection total des lignes par leur n°
format / mise en forme conditionnelle
Condition 1
=$A1="product"
format etc......

A1 étant la première cellule concernée
--
Salutations
JJ


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

bonjour à tous,

voici mon problème :
dans un fichier, j'ai une colonne avec une validation de données (donc une
liste déroulante avec 2 choix : product et component).
je voudrais que lorsque l'utilisateur choisit "Product" dans cette
cellule,
la ligne de cette cellule passe en gras. Et cela de façon automatique sans
que l'utilisateur fasse autre chose...
J'ai donc créé une macro que voici :
Sub gras()

If ActiveCell.Value = "Product" Then
Var = ActiveCell.Row
var2 = Var & ":" & Var
Rows(var2).Select
Selection.Font.Bold = True
ActiveCell.Offset(0, 1).Select
End If
End Sub

Et j'ai mis une macro à l'ouverture du fichier :
Sub auto_open()

ActiveWorkbook.Worksheets("Products Bought").OnEntry = "gras"

End Sub

Seulement ça ne marche pas. Autant ma macro gras() marche bien si je tape
moi-même le mot "Product" dans ma cellule et que je lance ensuite la
macro...
autant elle ne s'execute pas toute seule... comme si Excel ne récupérait
pas
la donnée dans la liste déroulante...

Avez-vous une idée du "pourquoi ça marche pas" ?
En espérant avoir été assez claire et précise et en vous remerciant par
avance...
Laure







Avatar
Laure
bonjour

auto_open est bien dans un module standard...
j'ai l'impression que OnEntry ne fonctionne que si on tape le texte dans la
cellule mais pas quand on le choisit dans une liste déroulante...?


Bonjour,

auto_open doit être dans un module standard(Il y a également
l'événement WorkBook_open).

JB
On 4 avr, 17:55, "Jacky" wrote:
Bonsoir,
La mise en forme conditionnelle ne fait pas ??
Les cellules liste de validation en colonne A

Sélection total des lignes par leur n°
format / mise en forme conditionnelle
Condition 1
=$A1="product"
format etc......

A1 étant la première cellule concernée
--
Salutations
JJ

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




bonjour à tous,

voici mon problème :
dans un fichier, j'ai une colonne avec une validation de données (donc une
liste déroulante avec 2 choix : product et component).
je voudrais que lorsque l'utilisateur choisit "Product" dans cette
cellule,
la ligne de cette cellule passe en gras. Et cela de façon automatique sans
que l'utilisateur fasse autre chose...
J'ai donc créé une macro que voici :
Sub gras()

If ActiveCell.Value = "Product" Then
Var = ActiveCell.Row
var2 = Var & ":" & Var
Rows(var2).Select
Selection.Font.Bold = True
ActiveCell.Offset(0, 1).Select
End If
End Sub

Et j'ai mis une macro à l'ouverture du fichier :
Sub auto_open()

ActiveWorkbook.Worksheets("Products Bought").OnEntry = "gras"

End Sub

Seulement ça ne marche pas. Autant ma macro gras() marche bien si je tape
moi-même le mot "Product" dans ma cellule et que je lance ensuite la
macro...
autant elle ne s'execute pas toute seule... comme si Excel ne récupérait
pas
la donnée dans la liste déroulante...

Avez-vous une idée du "pourquoi ça marche pas" ?
En espérant avoir été assez claire et précise et en vous remerciant par
avance...
Laure- Masquer le texte des messages précédents -


- Afficher le texte des messages précédents -








Avatar
Jacky
Re...
Pour la liste de validation en colonne A
sinon adapter [a:a]

'---------------
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, [a:a]) Is Nothing Then
Range(Target.Row & ":" & Target.Row).Font.Bold = False
If Target = "Product" Then Range(Target.Row & ":" & Target.Row).Font.Bold =
True
End If
End Sub
'-----------------

--
Salutations
JJ


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

le problème c'est que mon fichier a déjà 3 mises en forme conditionnelle


Bonsoir,
La mise en forme conditionnelle ne fait pas ??
Les cellules liste de validation en colonne A

Sélection total des lignes par leur n°
format / mise en forme conditionnelle
Condition 1
=$A1="product"
format etc......

A1 étant la première cellule concernée
--
Salutations
JJ


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

bonjour à tous,

voici mon problème :
dans un fichier, j'ai une colonne avec une validation de données (donc
une
liste déroulante avec 2 choix : product et component).
je voudrais que lorsque l'utilisateur choisit "Product" dans cette
cellule,
la ligne de cette cellule passe en gras. Et cela de façon automatique
sans
que l'utilisateur fasse autre chose...
J'ai donc créé une macro que voici :
Sub gras()

If ActiveCell.Value = "Product" Then
Var = ActiveCell.Row
var2 = Var & ":" & Var
Rows(var2).Select
Selection.Font.Bold = True
ActiveCell.Offset(0, 1).Select
End If
End Sub

Et j'ai mis une macro à l'ouverture du fichier :
Sub auto_open()

ActiveWorkbook.Worksheets("Products Bought").OnEntry = "gras"

End Sub

Seulement ça ne marche pas. Autant ma macro gras() marche bien si je
tape
moi-même le mot "Product" dans ma cellule et que je lance ensuite la
macro...
autant elle ne s'execute pas toute seule... comme si Excel ne
récupérait
pas
la donnée dans la liste déroulante...

Avez-vous une idée du "pourquoi ça marche pas" ?
En espérant avoir été assez claire et précise et en vous remerciant par
avance...
Laure









Avatar
Jacky
Re..
Un peu plus court
'-------
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, [a:a]) Is Nothing Then
Rows(Target.Row).Font.Bold = False
If Target = "Product" Then Rows(Target.Row).Font.Bold = True
End If
End Sub
'-------------

--
Salutations
JJ


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

Re...
Pour la liste de validation en colonne A
sinon adapter [a:a]

'---------------
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, [a:a]) Is Nothing Then
Range(Target.Row & ":" & Target.Row).Font.Bold = False
If Target = "Product" Then Range(Target.Row & ":" & Target.Row).Font.Bold
= True
End If
End Sub
'-----------------

--
Salutations
JJ


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

le problème c'est que mon fichier a déjà 3 mises en forme conditionnelle


Bonsoir,
La mise en forme conditionnelle ne fait pas ??
Les cellules liste de validation en colonne A

Sélection total des lignes par leur n°
format / mise en forme conditionnelle
Condition 1
=$A1="product"
format etc......

A1 étant la première cellule concernée
--
Salutations
JJ


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

bonjour à tous,

voici mon problème :
dans un fichier, j'ai une colonne avec une validation de données (donc
une
liste déroulante avec 2 choix : product et component).
je voudrais que lorsque l'utilisateur choisit "Product" dans cette
cellule,
la ligne de cette cellule passe en gras. Et cela de façon automatique
sans
que l'utilisateur fasse autre chose...
J'ai donc créé une macro que voici :
Sub gras()

If ActiveCell.Value = "Product" Then
Var = ActiveCell.Row
var2 = Var & ":" & Var
Rows(var2).Select
Selection.Font.Bold = True
ActiveCell.Offset(0, 1).Select
End If
End Sub

Et j'ai mis une macro à l'ouverture du fichier :
Sub auto_open()

ActiveWorkbook.Worksheets("Products Bought").OnEntry = "gras"

End Sub

Seulement ça ne marche pas. Autant ma macro gras() marche bien si je
tape
moi-même le mot "Product" dans ma cellule et que je lance ensuite la
macro...
autant elle ne s'execute pas toute seule... comme si Excel ne
récupérait
pas
la donnée dans la liste déroulante...

Avez-vous une idée du "pourquoi ça marche pas" ?
En espérant avoir été assez claire et précise et en vous remerciant
par
avance...
Laure













Avatar
Laure
merci... mais je souhaiterais que cette macro s'execute automatiquement au
moment où l'utilisateur sélectionne "Porduct" dans la liste... et là je
coince...?
Laure


Re...
Pour la liste de validation en colonne A
sinon adapter [a:a]

'---------------
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, [a:a]) Is Nothing Then
Range(Target.Row & ":" & Target.Row).Font.Bold = False
If Target = "Product" Then Range(Target.Row & ":" & Target.Row).Font.Bold =
True
End If
End Sub
'-----------------

--
Salutations
JJ


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

le problème c'est que mon fichier a déjà 3 mises en forme conditionnelle


Bonsoir,
La mise en forme conditionnelle ne fait pas ??
Les cellules liste de validation en colonne A

Sélection total des lignes par leur n°
format / mise en forme conditionnelle
Condition 1
=$A1="product"
format etc......

A1 étant la première cellule concernée
--
Salutations
JJ


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

bonjour à tous,

voici mon problème :
dans un fichier, j'ai une colonne avec une validation de données (donc
une
liste déroulante avec 2 choix : product et component).
je voudrais que lorsque l'utilisateur choisit "Product" dans cette
cellule,
la ligne de cette cellule passe en gras. Et cela de façon automatique
sans
que l'utilisateur fasse autre chose...
J'ai donc créé une macro que voici :
Sub gras()

If ActiveCell.Value = "Product" Then
Var = ActiveCell.Row
var2 = Var & ":" & Var
Rows(var2).Select
Selection.Font.Bold = True
ActiveCell.Offset(0, 1).Select
End If
End Sub

Et j'ai mis une macro à l'ouverture du fichier :
Sub auto_open()

ActiveWorkbook.Worksheets("Products Bought").OnEntry = "gras"

End Sub

Seulement ça ne marche pas. Autant ma macro gras() marche bien si je
tape
moi-même le mot "Product" dans ma cellule et que je lance ensuite la
macro...
autant elle ne s'execute pas toute seule... comme si Excel ne
récupérait
pas
la donnée dans la liste déroulante...

Avez-vous une idée du "pourquoi ça marche pas" ?
En espérant avoir été assez claire et précise et en vous remerciant par
avance...
Laure














Avatar
Jacky
Re...
.>>... je souhaiterais que cette macro s'execute automatiquement .....
Ce que fait cette macro, sauf si tu as la version xl97

--
Salutations
JJ


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

merci... mais je souhaiterais que cette macro s'execute automatiquement au
moment où l'utilisateur sélectionne "Porduct" dans la liste... et là je
coince...?
Laure


Re...
Pour la liste de validation en colonne A
sinon adapter [a:a]

'---------------
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, [a:a]) Is Nothing Then
Range(Target.Row & ":" & Target.Row).Font.Bold = False
If Target = "Product" Then Range(Target.Row & ":" &
Target.Row).Font.Bold >> True
End If
End Sub
'-----------------

--
Salutations
JJ


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

le problème c'est que mon fichier a déjà 3 mises en forme
conditionnelle


Bonsoir,
La mise en forme conditionnelle ne fait pas ??
Les cellules liste de validation en colonne A

Sélection total des lignes par leur n°
format / mise en forme conditionnelle
Condition 1
=$A1="product"
format etc......

A1 étant la première cellule concernée
--
Salutations
JJ


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

bonjour à tous,

voici mon problème :
dans un fichier, j'ai une colonne avec une validation de données
(donc
une
liste déroulante avec 2 choix : product et component).
je voudrais que lorsque l'utilisateur choisit "Product" dans cette
cellule,
la ligne de cette cellule passe en gras. Et cela de façon
automatique
sans
que l'utilisateur fasse autre chose...
J'ai donc créé une macro que voici :
Sub gras()

If ActiveCell.Value = "Product" Then
Var = ActiveCell.Row
var2 = Var & ":" & Var
Rows(var2).Select
Selection.Font.Bold = True
ActiveCell.Offset(0, 1).Select
End If
End Sub

Et j'ai mis une macro à l'ouverture du fichier :
Sub auto_open()

ActiveWorkbook.Worksheets("Products Bought").OnEntry = "gras"

End Sub

Seulement ça ne marche pas. Autant ma macro gras() marche bien si je
tape
moi-même le mot "Product" dans ma cellule et que je lance ensuite la
macro...
autant elle ne s'execute pas toute seule... comme si Excel ne
récupérait
pas
la donnée dans la liste déroulante...

Avez-vous une idée du "pourquoi ça marche pas" ?
En espérant avoir été assez claire et précise et en vous remerciant
par
avance...
Laure
















Avatar
Laure
non je suis en 2003... mais alors ça ne marche pas ... j'ai dû louper un truc
?! (je suis encore pas très douée avec les macros)


Re...
..>>... je souhaiterais que cette macro s'execute automatiquement .....
Ce que fait cette macro, sauf si tu as la version xl97

--
Salutations
JJ


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

merci... mais je souhaiterais que cette macro s'execute automatiquement au
moment où l'utilisateur sélectionne "Porduct" dans la liste... et là je
coince...?
Laure


Re...
Pour la liste de validation en colonne A
sinon adapter [a:a]

'---------------
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, [a:a]) Is Nothing Then
Range(Target.Row & ":" & Target.Row).Font.Bold = False
If Target = "Product" Then Range(Target.Row & ":" &
Target.Row).Font.Bold > >> True
End If
End Sub
'-----------------

--
Salutations
JJ


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

le problème c'est que mon fichier a déjà 3 mises en forme
conditionnelle


Bonsoir,
La mise en forme conditionnelle ne fait pas ??
Les cellules liste de validation en colonne A

Sélection total des lignes par leur n°
format / mise en forme conditionnelle
Condition 1
=$A1="product"
format etc......

A1 étant la première cellule concernée
--
Salutations
JJ


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

bonjour à tous,

voici mon problème :
dans un fichier, j'ai une colonne avec une validation de données
(donc
une
liste déroulante avec 2 choix : product et component).
je voudrais que lorsque l'utilisateur choisit "Product" dans cette
cellule,
la ligne de cette cellule passe en gras. Et cela de façon
automatique
sans
que l'utilisateur fasse autre chose...
J'ai donc créé une macro que voici :
Sub gras()

If ActiveCell.Value = "Product" Then
Var = ActiveCell.Row
var2 = Var & ":" & Var
Rows(var2).Select
Selection.Font.Bold = True
ActiveCell.Offset(0, 1).Select
End If
End Sub

Et j'ai mis une macro à l'ouverture du fichier :
Sub auto_open()

ActiveWorkbook.Worksheets("Products Bought").OnEntry = "gras"

End Sub

Seulement ça ne marche pas. Autant ma macro gras() marche bien si je
tape
moi-même le mot "Product" dans ma cellule et que je lance ensuite la
macro...
autant elle ne s'execute pas toute seule... comme si Excel ne
récupérait
pas
la donnée dans la liste déroulante...

Avez-vous une idée du "pourquoi ça marche pas" ?
En espérant avoir été assez claire et précise et en vous remerciant
par
avance...
Laure





















Avatar
Jacky
Re...
Regarde ici:
http://cjoint.com/?efqN3EjWON

--
Salutations
JJ


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

non je suis en 2003... mais alors ça ne marche pas ... j'ai dû louper un
truc
?! (je suis encore pas très douée avec les macros)


Re...
..>>... je souhaiterais que cette macro s'execute automatiquement .....
Ce que fait cette macro, sauf si tu as la version xl97

--
Salutations
JJ


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

merci... mais je souhaiterais que cette macro s'execute automatiquement
au
moment où l'utilisateur sélectionne "Porduct" dans la liste... et là je
coince...?
Laure


Re...
Pour la liste de validation en colonne A
sinon adapter [a:a]

'---------------
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, [a:a]) Is Nothing Then
Range(Target.Row & ":" & Target.Row).Font.Bold = False
If Target = "Product" Then Range(Target.Row & ":" &
Target.Row).Font.Bold >> >> True
End If
End Sub
'-----------------

--
Salutations
JJ


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

le problème c'est que mon fichier a déjà 3 mises en forme
conditionnelle


Bonsoir,
La mise en forme conditionnelle ne fait pas ??
Les cellules liste de validation en colonne A

Sélection total des lignes par leur n°
format / mise en forme conditionnelle
Condition 1
=$A1="product"
format etc......

A1 étant la première cellule concernée
--
Salutations
JJ


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

bonjour à tous,

voici mon problème :
dans un fichier, j'ai une colonne avec une validation de données
(donc
une
liste déroulante avec 2 choix : product et component).
je voudrais que lorsque l'utilisateur choisit "Product" dans
cette
cellule,
la ligne de cette cellule passe en gras. Et cela de façon
automatique
sans
que l'utilisateur fasse autre chose...
J'ai donc créé une macro que voici :
Sub gras()

If ActiveCell.Value = "Product" Then
Var = ActiveCell.Row
var2 = Var & ":" & Var
Rows(var2).Select
Selection.Font.Bold = True
ActiveCell.Offset(0, 1).Select
End If
End Sub

Et j'ai mis une macro à l'ouverture du fichier :
Sub auto_open()

ActiveWorkbook.Worksheets("Products Bought").OnEntry = "gras"

End Sub

Seulement ça ne marche pas. Autant ma macro gras() marche bien si
je
tape
moi-même le mot "Product" dans ma cellule et que je lance ensuite
la
macro...
autant elle ne s'execute pas toute seule... comme si Excel ne
récupérait
pas
la donnée dans la liste déroulante...

Avez-vous une idée du "pourquoi ça marche pas" ?
En espérant avoir été assez claire et précise et en vous
remerciant
par
avance...
Laure























1 2