j'ai pu utiliser dans une feuille de calcul l'évenement selectionChange.
A chaque selection d'une cellule, vba exécute mon petit programme
Mais je souhaiterais restreindre cela. Comment puis-je lancer l'exécussion
de mon programme uniquement quand il y a sélection d'une cellule vide de la
colonne A ?
merci
christèle
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
Hervé
Salut Christèle, Essai ceci : Private Sub Worksheet_SelectionChange(ByVal Target As Range) If Not Intersect(Target, [A:A]) Is Nothing And Target = "" Then 'ton code de lancement... End If End Sub
Hervé.
"christèle" a écrit dans le message news:
j'ai pu utiliser dans une feuille de calcul l'évenement selectionChange. A chaque selection d'une cellule, vba exécute mon petit programme Mais je souhaiterais restreindre cela. Comment puis-je lancer l'exécussion de mon programme uniquement quand il y a sélection d'une cellule vide de la
colonne A ? merci christèle
Salut Christèle,
Essai ceci :
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Not Intersect(Target, [A:A]) Is Nothing And Target = "" Then
'ton code de lancement...
End If
End Sub
Hervé.
"christèle" <christle@discussions.microsoft.com> a écrit dans le message
news: 2DE944EE-3F12-480A-9720-AEB3BFBBB385@microsoft.com...
j'ai pu utiliser dans une feuille de calcul l'évenement selectionChange.
A chaque selection d'une cellule, vba exécute mon petit programme
Mais je souhaiterais restreindre cela. Comment puis-je lancer l'exécussion
de mon programme uniquement quand il y a sélection d'une cellule vide de
la
Salut Christèle, Essai ceci : Private Sub Worksheet_SelectionChange(ByVal Target As Range) If Not Intersect(Target, [A:A]) Is Nothing And Target = "" Then 'ton code de lancement... End If End Sub
Hervé.
"christèle" a écrit dans le message news:
j'ai pu utiliser dans une feuille de calcul l'évenement selectionChange. A chaque selection d'une cellule, vba exécute mon petit programme Mais je souhaiterais restreindre cela. Comment puis-je lancer l'exécussion de mon programme uniquement quand il y a sélection d'une cellule vide de la
colonne A ? merci christèle
Michel Gaboly
Bonsoir,
Private Sub Worksheet_SelectionChange(ByVal Target As Range) Dim c As Range If Not Intersect(Target, Range("A:A")) Is Nothing Then For Each c In Intersect(Target, Range("A:A")) If IsEmpty(c) Then ' Ton traitement End If Next End If End Sub
Bonsoir,
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim c As Range
If Not Intersect(Target, Range("A:A")) Is Nothing Then
For Each c In Intersect(Target, Range("A:A"))
If IsEmpty(c) Then
' Ton traitement
End If
Next
End If
End Sub
Private Sub Worksheet_SelectionChange(ByVal Target As Range) Dim c As Range If Not Intersect(Target, Range("A:A")) Is Nothing Then For Each c In Intersect(Target, Range("A:A")) If IsEmpty(c) Then ' Ton traitement End If Next End If End Sub
LSteph
Bonjour Christèle, Cet ex remplacer la ligne du msgbox par ta commande:
Private Sub Worksheet_SelectionChange(ByVal Target As Range) Dim iSct As Range Set iSct = Intersect(Target, Range("A:A")) If iSct Is Nothing Then Exit Sub Application.EnableEvents = False If IsEmpty(Target) Then MsgBox Target.Address 'ligne à remplacer par commande End If Application.EnableEvents = True End Sub
'lSteph
"christèle" a écrit dans le message de news:
j'ai pu utiliser dans une feuille de calcul l'évenement selectionChange. A chaque selection d'une cellule, vba exécute mon petit programme Mais je souhaiterais restreindre cela. Comment puis-je lancer l'exécussion de mon programme uniquement quand il y a sélection d'une cellule vide de la colonne A ? merci christèle
Bonjour Christèle,
Cet ex remplacer la ligne du msgbox par ta commande:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim iSct As Range
Set iSct = Intersect(Target, Range("A:A"))
If iSct Is Nothing Then Exit Sub
Application.EnableEvents = False
If IsEmpty(Target) Then
MsgBox Target.Address 'ligne à remplacer par commande
End If
Application.EnableEvents = True
End Sub
'lSteph
"christèle" <christle@discussions.microsoft.com> a écrit dans le message de
news: 2DE944EE-3F12-480A-9720-AEB3BFBBB385@microsoft.com...
j'ai pu utiliser dans une feuille de calcul l'évenement selectionChange.
A chaque selection d'une cellule, vba exécute mon petit programme
Mais je souhaiterais restreindre cela. Comment puis-je lancer l'exécussion
de mon programme uniquement quand il y a sélection d'une cellule vide de
la
colonne A ?
merci
christèle
Bonjour Christèle, Cet ex remplacer la ligne du msgbox par ta commande:
Private Sub Worksheet_SelectionChange(ByVal Target As Range) Dim iSct As Range Set iSct = Intersect(Target, Range("A:A")) If iSct Is Nothing Then Exit Sub Application.EnableEvents = False If IsEmpty(Target) Then MsgBox Target.Address 'ligne à remplacer par commande End If Application.EnableEvents = True End Sub
'lSteph
"christèle" a écrit dans le message de news:
j'ai pu utiliser dans une feuille de calcul l'évenement selectionChange. A chaque selection d'une cellule, vba exécute mon petit programme Mais je souhaiterais restreindre cela. Comment puis-je lancer l'exécussion de mon programme uniquement quand il y a sélection d'une cellule vide de la colonne A ? merci christèle
Michel Gaboly
Bonsoir,
Ton code ne marche que dans une partie des cas possibles :;((
Si l'intersection de la colonne A et de Target contient plusieurs cellules et que seules certaines sont vides, elles ne sont pas repérées.
Essaye par exemple en sélectionnant A1:D3, avec toutes les cellules vides, sauf A1.
Bonjour Christèle, Cet ex remplacer la ligne du msgbox par ta commande:
Private Sub Worksheet_SelectionChange(ByVal Target As Range) Dim iSct As Range Set iSct = Intersect(Target, Range("A:A")) If iSct Is Nothing Then Exit Sub Application.EnableEvents = False If IsEmpty(Target) Then MsgBox Target.Address 'ligne à remplacer par commande End If Application.EnableEvents = True End Sub
'lSteph
"christèle" a écrit dans le message de news:
j'ai pu utiliser dans une feuille de calcul l'évenement selectionChange. A chaque selection d'une cellule, vba exécute mon petit programme Mais je souhaiterais restreindre cela. Comment puis-je lancer l'exécussion de mon programme uniquement quand il y a sélection d'une cellule vide de la colonne A ? merci christèle
-- Cordialement,
Michel Gaboly www.gaboly.com
Bonsoir,
Ton code ne marche que dans une partie des cas possibles :;((
Si l'intersection de la colonne A et de Target contient plusieurs
cellules et que seules certaines sont vides, elles ne sont pas repérées.
Essaye par exemple en sélectionnant A1:D3, avec toutes les cellules
vides, sauf A1.
Bonjour Christèle,
Cet ex remplacer la ligne du msgbox par ta commande:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim iSct As Range
Set iSct = Intersect(Target, Range("A:A"))
If iSct Is Nothing Then Exit Sub
Application.EnableEvents = False
If IsEmpty(Target) Then
MsgBox Target.Address 'ligne à remplacer par commande
End If
Application.EnableEvents = True
End Sub
'lSteph
"christèle" <christle@discussions.microsoft.com> a écrit dans le message de
news: 2DE944EE-3F12-480A-9720-AEB3BFBBB385@microsoft.com...
j'ai pu utiliser dans une feuille de calcul l'évenement selectionChange.
A chaque selection d'une cellule, vba exécute mon petit programme
Mais je souhaiterais restreindre cela. Comment puis-je lancer l'exécussion
de mon programme uniquement quand il y a sélection d'une cellule vide de
la
colonne A ?
merci
christèle
Ton code ne marche que dans une partie des cas possibles :;((
Si l'intersection de la colonne A et de Target contient plusieurs cellules et que seules certaines sont vides, elles ne sont pas repérées.
Essaye par exemple en sélectionnant A1:D3, avec toutes les cellules vides, sauf A1.
Bonjour Christèle, Cet ex remplacer la ligne du msgbox par ta commande:
Private Sub Worksheet_SelectionChange(ByVal Target As Range) Dim iSct As Range Set iSct = Intersect(Target, Range("A:A")) If iSct Is Nothing Then Exit Sub Application.EnableEvents = False If IsEmpty(Target) Then MsgBox Target.Address 'ligne à remplacer par commande End If Application.EnableEvents = True End Sub
'lSteph
"christèle" a écrit dans le message de news:
j'ai pu utiliser dans une feuille de calcul l'évenement selectionChange. A chaque selection d'une cellule, vba exécute mon petit programme Mais je souhaiterais restreindre cela. Comment puis-je lancer l'exécussion de mon programme uniquement quand il y a sélection d'une cellule vide de la colonne A ? merci christèle
-- Cordialement,
Michel Gaboly www.gaboly.com
LSteph
Salut ô grand joueur de Go, Ne fais pas cette grimace Merci , je vais vérifier essaie de ton côté , l'hypothèse que le traitement contienne: activecell.offset(1,0).select
;-) à bientôt
Stephane
"Michel Gaboly" a écrit dans le message de news: %
Bonsoir,
Ton code ne marche que dans une partie des cas possibles :;((
Si l'intersection de la colonne A et de Target contient plusieurs cellules et que seules certaines sont vides, elles ne sont pas repérées.
Essaye par exemple en sélectionnant A1:D3, avec toutes les cellules vides, sauf A1.
Bonjour Christèle, Cet ex remplacer la ligne du msgbox par ta commande:
Private Sub Worksheet_SelectionChange(ByVal Target As Range) Dim iSct As Range Set iSct = Intersect(Target, Range("A:A")) If iSct Is Nothing Then Exit Sub Application.EnableEvents = False If IsEmpty(Target) Then MsgBox Target.Address 'ligne à remplacer par commande End If Application.EnableEvents = True End Sub
'lSteph
"christèle" a écrit dans le message de news:
j'ai pu utiliser dans une feuille de calcul l'évenement selectionChange. A chaque selection d'une cellule, vba exécute mon petit programme Mais je souhaiterais restreindre cela. Comment puis-je lancer l'exécussion de mon programme uniquement quand il y a sélection d'une cellule vide de la colonne A ? merci christèle
-- Cordialement,
Michel Gaboly www.gaboly.com
Salut ô grand joueur de Go,
Ne fais pas cette grimace
Merci , je vais vérifier
essaie de ton côté ,
l'hypothèse que le traitement contienne:
activecell.offset(1,0).select
;-) à bientôt
Stephane
"Michel Gaboly" <michel.gaboly@wanadoo.fr> a écrit dans le message de news:
%23k6G94XAFHA.3988@TK2MSFTNGP11.phx.gbl...
Bonsoir,
Ton code ne marche que dans une partie des cas possibles :;((
Si l'intersection de la colonne A et de Target contient plusieurs cellules
et que seules certaines sont vides, elles ne sont pas repérées.
Essaye par exemple en sélectionnant A1:D3, avec toutes les cellules vides,
sauf A1.
Bonjour Christèle,
Cet ex remplacer la ligne du msgbox par ta commande:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim iSct As Range
Set iSct = Intersect(Target, Range("A:A"))
If iSct Is Nothing Then Exit Sub
Application.EnableEvents = False
If IsEmpty(Target) Then
MsgBox Target.Address 'ligne à remplacer par commande
End If
Application.EnableEvents = True
End Sub
'lSteph
"christèle" <christle@discussions.microsoft.com> a écrit dans le message
de news: 2DE944EE-3F12-480A-9720-AEB3BFBBB385@microsoft.com...
j'ai pu utiliser dans une feuille de calcul l'évenement selectionChange.
A chaque selection d'une cellule, vba exécute mon petit programme
Mais je souhaiterais restreindre cela. Comment puis-je lancer
l'exécussion
de mon programme uniquement quand il y a sélection d'une cellule vide de
la
colonne A ?
merci
christèle
Salut ô grand joueur de Go, Ne fais pas cette grimace Merci , je vais vérifier essaie de ton côté , l'hypothèse que le traitement contienne: activecell.offset(1,0).select
;-) à bientôt
Stephane
"Michel Gaboly" a écrit dans le message de news: %
Bonsoir,
Ton code ne marche que dans une partie des cas possibles :;((
Si l'intersection de la colonne A et de Target contient plusieurs cellules et que seules certaines sont vides, elles ne sont pas repérées.
Essaye par exemple en sélectionnant A1:D3, avec toutes les cellules vides, sauf A1.
Bonjour Christèle, Cet ex remplacer la ligne du msgbox par ta commande:
Private Sub Worksheet_SelectionChange(ByVal Target As Range) Dim iSct As Range Set iSct = Intersect(Target, Range("A:A")) If iSct Is Nothing Then Exit Sub Application.EnableEvents = False If IsEmpty(Target) Then MsgBox Target.Address 'ligne à remplacer par commande End If Application.EnableEvents = True End Sub
'lSteph
"christèle" a écrit dans le message de news:
j'ai pu utiliser dans une feuille de calcul l'évenement selectionChange. A chaque selection d'une cellule, vba exécute mon petit programme Mais je souhaiterais restreindre cela. Comment puis-je lancer l'exécussion de mon programme uniquement quand il y a sélection d'une cellule vide de la colonne A ? merci christèle
-- Cordialement,
Michel Gaboly www.gaboly.com
LSteph
Re Bonsoir Michel, Tu disais:
Ton code ne marche que dans une partie des cas possibles :;((
Pas sûr de devoir rectifier, pour répondre à l'hypothèse évoquée:
Si l'intersection de la colonne A et de Target contient plusieurs cellules Certes on pourrait restreindre if isempty(target) à if
isempty(target.cells(1)) mais en l'occurence et plutôt que d'envisager qu'il faille boucler la sélection ce que peut prévoir d'ailleurs le traitement en questiont il serait plus prudent de tenir compte de ceci: .
A chaque selection d'une cellule, vba exécute mon petit programme
Si le traitement remplit la cellule ou s'exécute pour une cellule il n'est pas dit : que le traitement s'applique à une sélection multiple.
Peut être conviendrait-il même de déjouer le risque :
if target.cells.count>1 then exit sub
....à suivre
Bien cordialement.
lSteph
"Michel Gaboly" a écrit dans le message de news: %
Bonsoir,
Ton code ne marche que dans une partie des cas possibles :;((
Si l'intersection de la colonne A et de Target contient plusieurs cellules et que seules certaines sont vides, elles ne sont pas repérées.
Essaye par exemple en sélectionnant A1:D3, avec toutes les cellules vides, sauf A1.
Bonjour Christèle, Cet ex remplacer la ligne du msgbox par ta commande:
Private Sub Worksheet_SelectionChange(ByVal Target As Range) Dim iSct As Range Set iSct = Intersect(Target, Range("A:A")) If iSct Is Nothing Then Exit Sub Application.EnableEvents = False If IsEmpty(Target) Then MsgBox Target.Address 'ligne à remplacer par commande End If Application.EnableEvents = True End Sub
'lSteph
"christèle" a écrit dans le message de news:
j'ai pu utiliser dans une feuille de calcul l'évenement selectionChange. A chaque selection d'une cellule, vba exécute mon petit programme Mais je souhaiterais restreindre cela. Comment puis-je lancer l'exécussion de mon programme uniquement quand il y a sélection d'une cellule vide de la colonne A ? merci christèle
-- Cordialement,
Michel Gaboly www.gaboly.com
Re Bonsoir Michel,
Tu disais:
Ton code ne marche que dans une partie des cas possibles :;((
Pas sûr de devoir rectifier, pour répondre à l'hypothèse évoquée:
Si l'intersection de la colonne A et de Target contient plusieurs cellules
Certes on pourrait restreindre if isempty(target) à if
isempty(target.cells(1))
mais en l'occurence et plutôt que d'envisager qu'il faille boucler la
sélection
ce que peut prévoir d'ailleurs le traitement en questiont
il serait plus prudent de tenir compte de ceci:
.
A chaque selection d'une cellule, vba exécute mon petit programme
Si le traitement remplit la cellule ou s'exécute pour une cellule il n'est
pas dit :
que le traitement s'applique à une sélection multiple.
Peut être conviendrait-il même de déjouer le risque :
if target.cells.count>1 then exit sub
....à suivre
Bien cordialement.
lSteph
"Michel Gaboly" <michel.gaboly@wanadoo.fr> a écrit dans le message de news:
%23k6G94XAFHA.3988@TK2MSFTNGP11.phx.gbl...
Bonsoir,
Ton code ne marche que dans une partie des cas possibles :;((
Si l'intersection de la colonne A et de Target contient plusieurs cellules
et que seules certaines sont vides, elles ne sont pas repérées.
Essaye par exemple en sélectionnant A1:D3, avec toutes les cellules vides,
sauf A1.
Bonjour Christèle,
Cet ex remplacer la ligne du msgbox par ta commande:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim iSct As Range
Set iSct = Intersect(Target, Range("A:A"))
If iSct Is Nothing Then Exit Sub
Application.EnableEvents = False
If IsEmpty(Target) Then
MsgBox Target.Address 'ligne à remplacer par commande
End If
Application.EnableEvents = True
End Sub
'lSteph
"christèle" <christle@discussions.microsoft.com> a écrit dans le message
de news: 2DE944EE-3F12-480A-9720-AEB3BFBBB385@microsoft.com...
j'ai pu utiliser dans une feuille de calcul l'évenement selectionChange.
A chaque selection d'une cellule, vba exécute mon petit programme
Mais je souhaiterais restreindre cela. Comment puis-je lancer
l'exécussion
de mon programme uniquement quand il y a sélection d'une cellule vide de
la
colonne A ?
merci
christèle
Ton code ne marche que dans une partie des cas possibles :;((
Pas sûr de devoir rectifier, pour répondre à l'hypothèse évoquée:
Si l'intersection de la colonne A et de Target contient plusieurs cellules Certes on pourrait restreindre if isempty(target) à if
isempty(target.cells(1)) mais en l'occurence et plutôt que d'envisager qu'il faille boucler la sélection ce que peut prévoir d'ailleurs le traitement en questiont il serait plus prudent de tenir compte de ceci: .
A chaque selection d'une cellule, vba exécute mon petit programme
Si le traitement remplit la cellule ou s'exécute pour une cellule il n'est pas dit : que le traitement s'applique à une sélection multiple.
Peut être conviendrait-il même de déjouer le risque :
if target.cells.count>1 then exit sub
....à suivre
Bien cordialement.
lSteph
"Michel Gaboly" a écrit dans le message de news: %
Bonsoir,
Ton code ne marche que dans une partie des cas possibles :;((
Si l'intersection de la colonne A et de Target contient plusieurs cellules et que seules certaines sont vides, elles ne sont pas repérées.
Essaye par exemple en sélectionnant A1:D3, avec toutes les cellules vides, sauf A1.
Bonjour Christèle, Cet ex remplacer la ligne du msgbox par ta commande:
Private Sub Worksheet_SelectionChange(ByVal Target As Range) Dim iSct As Range Set iSct = Intersect(Target, Range("A:A")) If iSct Is Nothing Then Exit Sub Application.EnableEvents = False If IsEmpty(Target) Then MsgBox Target.Address 'ligne à remplacer par commande End If Application.EnableEvents = True End Sub
'lSteph
"christèle" a écrit dans le message de news:
j'ai pu utiliser dans une feuille de calcul l'évenement selectionChange. A chaque selection d'une cellule, vba exécute mon petit programme Mais je souhaiterais restreindre cela. Comment puis-je lancer l'exécussion de mon programme uniquement quand il y a sélection d'une cellule vide de la colonne A ? merci christèle
-- Cordialement,
Michel Gaboly www.gaboly.com
christèle
merci pour vos réponses. j'ai un peu cherché de mon coté et j'ai trouvé ça c'est peut être pas très orthodoxe (débutant sous vba, petit lambeau de connaissance piochée à gauche et droite ..) : Private Sub Worksheet_SelectionChange(ByVal Target As Range) If Target.Column = 1 And Target <> Empty Then ... (et mon petit programme)
mais je me retrouve avec un autre problème. L'évenement SelectionChange est pas tout à fait l'idéal pour moi. J'aimerais quelque chose qui corresponde au "Après mise à Jour" d'access. En fait chaque fois qu'en col A je saisis une nouvelle valeur, je souhaite que mon code s'exécute. Or ici il me faut valider la saisie puis cliquer sur la cellule dans laquelle je viens de saisir la valeur Merci Christèle
j'ai pu utiliser dans une feuille de calcul l'évenement selectionChange. A chaque selection d'une cellule, vba exécute mon petit programme Mais je souhaiterais restreindre cela. Comment puis-je lancer l'exécussion de mon programme uniquement quand il y a sélection d'une cellule vide de la colonne A ? merci christèle
merci pour vos réponses. j'ai un peu cherché de mon coté et j'ai trouvé ça
c'est peut être pas très orthodoxe (débutant sous vba, petit lambeau de
connaissance piochée à gauche et droite ..) :
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Column = 1 And Target <> Empty Then ... (et mon petit programme)
mais je me retrouve avec un autre problème. L'évenement SelectionChange est
pas tout à fait l'idéal pour moi. J'aimerais quelque chose qui corresponde au
"Après mise à Jour" d'access. En fait chaque fois qu'en col A je saisis une
nouvelle valeur, je souhaite que mon code s'exécute. Or ici il me faut
valider la saisie puis cliquer sur la cellule dans laquelle je viens de
saisir la valeur
Merci
Christèle
j'ai pu utiliser dans une feuille de calcul l'évenement selectionChange.
A chaque selection d'une cellule, vba exécute mon petit programme
Mais je souhaiterais restreindre cela. Comment puis-je lancer l'exécussion
de mon programme uniquement quand il y a sélection d'une cellule vide de la
colonne A ?
merci
christèle
merci pour vos réponses. j'ai un peu cherché de mon coté et j'ai trouvé ça c'est peut être pas très orthodoxe (débutant sous vba, petit lambeau de connaissance piochée à gauche et droite ..) : Private Sub Worksheet_SelectionChange(ByVal Target As Range) If Target.Column = 1 And Target <> Empty Then ... (et mon petit programme)
mais je me retrouve avec un autre problème. L'évenement SelectionChange est pas tout à fait l'idéal pour moi. J'aimerais quelque chose qui corresponde au "Après mise à Jour" d'access. En fait chaque fois qu'en col A je saisis une nouvelle valeur, je souhaite que mon code s'exécute. Or ici il me faut valider la saisie puis cliquer sur la cellule dans laquelle je viens de saisir la valeur Merci Christèle
j'ai pu utiliser dans une feuille de calcul l'évenement selectionChange. A chaque selection d'une cellule, vba exécute mon petit programme Mais je souhaiterais restreindre cela. Comment puis-je lancer l'exécussion de mon programme uniquement quand il y a sélection d'une cellule vide de la colonne A ? merci christèle
LSteph
Bonsoir, Dans ce cas essaie l'événement change. En ciblant le target également, comme tu as fait et comme dans les exemples proposés mais pense à désactiver et réactiver av et après les évenements si ta macro modifie target Application.EnableEvents = False 'lacommande Application.EnableEvents = True
'lSteph "christèle" a écrit dans le message de news:
merci pour vos réponses. j'ai un peu cherché de mon coté et j'ai trouvé ça c'est peut être pas très orthodoxe (débutant sous vba, petit lambeau de connaissance piochée à gauche et droite ..) : Private Sub Worksheet_SelectionChange(ByVal Target As Range) If Target.Column = 1 And Target <> Empty Then ... (et mon petit programme)
mais je me retrouve avec un autre problème. L'évenement SelectionChange est pas tout à fait l'idéal pour moi. J'aimerais quelque chose qui corresponde au "Après mise à Jour" d'access. En fait chaque fois qu'en col A je saisis une nouvelle valeur, je souhaite que mon code s'exécute. Or ici il me faut valider la saisie puis cliquer sur la cellule dans laquelle je viens de saisir la valeur Merci Christèle
j'ai pu utiliser dans une feuille de calcul l'évenement selectionChange. A chaque selection d'une cellule, vba exécute mon petit programme Mais je souhaiterais restreindre cela. Comment puis-je lancer l'exécussion de mon programme uniquement quand il y a sélection d'une cellule vide de la colonne A ? merci christèle
Bonsoir,
Dans ce cas essaie l'événement change.
En ciblant le target également, comme tu as fait et comme dans les exemples
proposés
mais pense
à désactiver et réactiver av et après les évenements si ta macro modifie
target
Application.EnableEvents = False
'lacommande
Application.EnableEvents = True
'lSteph
"christèle" <christle@discussions.microsoft.com> a écrit dans le message de
news: BE9725D6-99A7-47CE-ACC0-13A88D57EA5E@microsoft.com...
merci pour vos réponses. j'ai un peu cherché de mon coté et j'ai trouvé ça
c'est peut être pas très orthodoxe (débutant sous vba, petit lambeau de
connaissance piochée à gauche et droite ..) :
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Column = 1 And Target <> Empty Then ... (et mon petit programme)
mais je me retrouve avec un autre problème. L'évenement SelectionChange
est
pas tout à fait l'idéal pour moi. J'aimerais quelque chose qui corresponde
au
"Après mise à Jour" d'access. En fait chaque fois qu'en col A je saisis
une
nouvelle valeur, je souhaite que mon code s'exécute. Or ici il me faut
valider la saisie puis cliquer sur la cellule dans laquelle je viens de
saisir la valeur
Merci
Christèle
j'ai pu utiliser dans une feuille de calcul l'évenement selectionChange.
A chaque selection d'une cellule, vba exécute mon petit programme
Mais je souhaiterais restreindre cela. Comment puis-je lancer
l'exécussion
de mon programme uniquement quand il y a sélection d'une cellule vide de
la
colonne A ?
merci
christèle
Bonsoir, Dans ce cas essaie l'événement change. En ciblant le target également, comme tu as fait et comme dans les exemples proposés mais pense à désactiver et réactiver av et après les évenements si ta macro modifie target Application.EnableEvents = False 'lacommande Application.EnableEvents = True
'lSteph "christèle" a écrit dans le message de news:
merci pour vos réponses. j'ai un peu cherché de mon coté et j'ai trouvé ça c'est peut être pas très orthodoxe (débutant sous vba, petit lambeau de connaissance piochée à gauche et droite ..) : Private Sub Worksheet_SelectionChange(ByVal Target As Range) If Target.Column = 1 And Target <> Empty Then ... (et mon petit programme)
mais je me retrouve avec un autre problème. L'évenement SelectionChange est pas tout à fait l'idéal pour moi. J'aimerais quelque chose qui corresponde au "Après mise à Jour" d'access. En fait chaque fois qu'en col A je saisis une nouvelle valeur, je souhaite que mon code s'exécute. Or ici il me faut valider la saisie puis cliquer sur la cellule dans laquelle je viens de saisir la valeur Merci Christèle
j'ai pu utiliser dans une feuille de calcul l'évenement selectionChange. A chaque selection d'une cellule, vba exécute mon petit programme Mais je souhaiterais restreindre cela. Comment puis-je lancer l'exécussion de mon programme uniquement quand il y a sélection d'une cellule vide de la colonne A ? merci christèle