J'ai une petite question à poser (sûrement très simple pour vous, mais pas
pour moi).
Dans le code d'une feuille qui exécute par le changement des cellules A2:A4,
début du code ci-dessous :
Private Sub Worksheet_Change(ByVal Target As Range)
Dim Rg As Range, Sh As Shape, R As Variant, S As Object
If Not Intersect(Target, Range("A2:A4") Is Nothing Then
bla bla bla
Si je veux que le code s'exécute par plusieurs plages de cellules, comme
A2:A4; A7:A9 ..., comment je peux faire ? Sachant que je ne veux pas que le
code s'exécute sur toute la colonne A, mais que sur plusieurs plages
déterminées.
Si vous avez une idée, s'il vous plait aidez-moi ...
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
Daniel.M
Salut,
If Not Intersect(Target, _ Union(Range("A2:A4"), Range("A7:A9"), Range("A103:A122")) _ Is Nothing Then
Meilleur que :
If Not Intersect(Target, Range("A2:A4, A7:A9, A103:A22") Is Nothing Then
qui plante de façon intermittente.
Salutations,
Daniel M.
"aife1" wrote in message news:%
Bonjour à tous et à toutes !!
J'ai une petite question à poser (sûrement très simple pour vous, mais pas pour moi). Dans le code d'une feuille qui exécute par le changement des cellules A2:A4, début du code ci-dessous :
Private Sub Worksheet_Change(ByVal Target As Range) Dim Rg As Range, Sh As Shape, R As Variant, S As Object If Not Intersect(Target, Range("A2:A4") Is Nothing Then bla bla bla
Si je veux que le code s'exécute par plusieurs plages de cellules, comme A2:A4; A7:A9 ..., comment je peux faire ? Sachant que je ne veux pas que le code s'exécute sur toute la colonne A, mais que sur plusieurs plages déterminées.
Si vous avez une idée, s'il vous plait aidez-moi ...
Merci d'avance à vous !!!
Salutations
Salut,
If Not Intersect(Target, _
Union(Range("A2:A4"), Range("A7:A9"), Range("A103:A122")) _
Is Nothing Then
Meilleur que :
If Not Intersect(Target, Range("A2:A4, A7:A9, A103:A22") Is Nothing Then
qui plante de façon intermittente.
Salutations,
Daniel M.
"aife1" <aife1@wanadoo.fr> wrote in message
news:%23xSWcmfhEHA.556@TK2MSFTNGP10.phx.gbl...
Bonjour à tous et à toutes !!
J'ai une petite question à poser (sûrement très simple pour vous, mais pas
pour moi).
Dans le code d'une feuille qui exécute par le changement des cellules A2:A4,
début du code ci-dessous :
Private Sub Worksheet_Change(ByVal Target As Range)
Dim Rg As Range, Sh As Shape, R As Variant, S As Object
If Not Intersect(Target, Range("A2:A4") Is Nothing Then
bla bla bla
Si je veux que le code s'exécute par plusieurs plages de cellules, comme
A2:A4; A7:A9 ..., comment je peux faire ? Sachant que je ne veux pas que le
code s'exécute sur toute la colonne A, mais que sur plusieurs plages
déterminées.
Si vous avez une idée, s'il vous plait aidez-moi ...
If Not Intersect(Target, _ Union(Range("A2:A4"), Range("A7:A9"), Range("A103:A122")) _ Is Nothing Then
Meilleur que :
If Not Intersect(Target, Range("A2:A4, A7:A9, A103:A22") Is Nothing Then
qui plante de façon intermittente.
Salutations,
Daniel M.
"aife1" wrote in message news:%
Bonjour à tous et à toutes !!
J'ai une petite question à poser (sûrement très simple pour vous, mais pas pour moi). Dans le code d'une feuille qui exécute par le changement des cellules A2:A4, début du code ci-dessous :
Private Sub Worksheet_Change(ByVal Target As Range) Dim Rg As Range, Sh As Shape, R As Variant, S As Object If Not Intersect(Target, Range("A2:A4") Is Nothing Then bla bla bla
Si je veux que le code s'exécute par plusieurs plages de cellules, comme A2:A4; A7:A9 ..., comment je peux faire ? Sachant que je ne veux pas que le code s'exécute sur toute la colonne A, mais que sur plusieurs plages déterminées.
Si vous avez une idée, s'il vous plait aidez-moi ...
Merci d'avance à vous !!!
Salutations
michdenis
Bonjour Aife1,
As-tu essayé quelque chose dans le genre : En supposant que j'ai compris ta demande !
'---------------------------------- Private Sub Worksheet_Change(ByVal Target As Range) 'Attention, ne pas donner le même nom à variable 'déjà existante dans ton code !
Dim Arr(), Rg As Range 'Tu définis toutes les plages que tu désires Arr = Array("A2:A4", "A7:A9", "A11:A15")
For Each elt In Arr Set Rg = Intersect(Target, Range(elt)) If Not Rg Is Nothing Then With Rg 'Ton code pour la plage de cellules
End With End If Next Set Rg = Nothing
End Sub '----------------------------------
Salutations!
"aife1" a écrit dans le message de news:% Bonjour à tous et à toutes !!
J'ai une petite question à poser (sûrement très simple pour vous, mais pas pour moi). Dans le code d'une feuille qui exécute par le changement des cellules A2:A4, début du code ci-dessous :
Private Sub Worksheet_Change(ByVal Target As Range) Dim Rg As Range, Sh As Shape, R As Variant, S As Object If Not Intersect(Target, Range("A2:A4") Is Nothing Then bla bla bla
Si je veux que le code s'exécute par plusieurs plages de cellules, comme A2:A4; A7:A9 ..., comment je peux faire ? Sachant que je ne veux pas que le code s'exécute sur toute la colonne A, mais que sur plusieurs plages déterminées.
Si vous avez une idée, s'il vous plait aidez-moi ...
Merci d'avance à vous !!!
Salutations
Bonjour Aife1,
As-tu essayé quelque chose dans le genre : En supposant que j'ai compris ta demande !
'----------------------------------
Private Sub Worksheet_Change(ByVal Target As Range)
'Attention, ne pas donner le même nom à variable
'déjà existante dans ton code !
Dim Arr(), Rg As Range
'Tu définis toutes les plages que tu désires
Arr = Array("A2:A4", "A7:A9", "A11:A15")
For Each elt In Arr
Set Rg = Intersect(Target, Range(elt))
If Not Rg Is Nothing Then
With Rg
'Ton code pour la plage de cellules
End With
End If
Next
Set Rg = Nothing
End Sub
'----------------------------------
Salutations!
"aife1" <aife1@wanadoo.fr> a écrit dans le message de news:%23xSWcmfhEHA.556@TK2MSFTNGP10.phx.gbl...
Bonjour à tous et à toutes !!
J'ai une petite question à poser (sûrement très simple pour vous, mais pas
pour moi).
Dans le code d'une feuille qui exécute par le changement des cellules A2:A4,
début du code ci-dessous :
Private Sub Worksheet_Change(ByVal Target As Range)
Dim Rg As Range, Sh As Shape, R As Variant, S As Object
If Not Intersect(Target, Range("A2:A4") Is Nothing Then
bla bla bla
Si je veux que le code s'exécute par plusieurs plages de cellules, comme
A2:A4; A7:A9 ..., comment je peux faire ? Sachant que je ne veux pas que le
code s'exécute sur toute la colonne A, mais que sur plusieurs plages
déterminées.
Si vous avez une idée, s'il vous plait aidez-moi ...
As-tu essayé quelque chose dans le genre : En supposant que j'ai compris ta demande !
'---------------------------------- Private Sub Worksheet_Change(ByVal Target As Range) 'Attention, ne pas donner le même nom à variable 'déjà existante dans ton code !
Dim Arr(), Rg As Range 'Tu définis toutes les plages que tu désires Arr = Array("A2:A4", "A7:A9", "A11:A15")
For Each elt In Arr Set Rg = Intersect(Target, Range(elt)) If Not Rg Is Nothing Then With Rg 'Ton code pour la plage de cellules
End With End If Next Set Rg = Nothing
End Sub '----------------------------------
Salutations!
"aife1" a écrit dans le message de news:% Bonjour à tous et à toutes !!
J'ai une petite question à poser (sûrement très simple pour vous, mais pas pour moi). Dans le code d'une feuille qui exécute par le changement des cellules A2:A4, début du code ci-dessous :
Private Sub Worksheet_Change(ByVal Target As Range) Dim Rg As Range, Sh As Shape, R As Variant, S As Object If Not Intersect(Target, Range("A2:A4") Is Nothing Then bla bla bla
Si je veux que le code s'exécute par plusieurs plages de cellules, comme A2:A4; A7:A9 ..., comment je peux faire ? Sachant que je ne veux pas que le code s'exécute sur toute la colonne A, mais que sur plusieurs plages déterminées.
Si vous avez une idée, s'il vous plait aidez-moi ...
Merci d'avance à vous !!!
Salutations
Michel Gaboly
Bonsoir,
Tu peux également sélectionner en même temps tes différentes plages dans la feuille et leur associer un nom unique, "PlageMulti" par exemple.
Tu pourras ensuite te référer ainsi à l'ensemble :
Range("PlageMulti")
L'avantage est que le code est + concis, mais surtout qu'en cas d'insertion/ suppression de cellules dans la feuille, le nom continuera à être associé aux "bonnes" plages, ce qui ne serait pas le cas avec des références comme A2:A4, A7:A9...
Salut,
If Not Intersect(Target, _ Union(Range("A2:A4"), Range("A7:A9"), Range("A103:A122")) _ Is Nothing Then
Meilleur que :
If Not Intersect(Target, Range("A2:A4, A7:A9, A103:A22") Is Nothing Then
qui plante de façon intermittente.
Salutations,
Daniel M.
"aife1" wrote in message news:%
Bonjour à tous et à toutes !!
J'ai une petite question à poser (sûrement très simple pour vous, mais pas pour moi). Dans le code d'une feuille qui exécute par le changement des cellules A2:A4, début du code ci-dessous :
Private Sub Worksheet_Change(ByVal Target As Range) Dim Rg As Range, Sh As Shape, R As Variant, S As Object If Not Intersect(Target, Range("A2:A4") Is Nothing Then bla bla bla
Si je veux que le code s'exécute par plusieurs plages de cellules, comme A2:A4; A7:A9 ..., comment je peux faire ? Sachant que je ne veux pas que le code s'exécute sur toute la colonne A, mais que sur plusieurs plages déterminées.
Si vous avez une idée, s'il vous plait aidez-moi ...
Merci d'avance à vous !!!
Salutations
-- Cordialement,
Michel Gaboly http://www.gaboly.com
Bonsoir,
Tu peux également sélectionner en même temps tes différentes plages
dans la feuille et leur associer un nom unique, "PlageMulti" par exemple.
Tu pourras ensuite te référer ainsi à l'ensemble :
Range("PlageMulti")
L'avantage est que le code est + concis, mais surtout qu'en cas d'insertion/
suppression de cellules dans la feuille, le nom continuera à être associé
aux "bonnes" plages, ce qui ne serait pas le cas avec des références
comme A2:A4, A7:A9...
Salut,
If Not Intersect(Target, _
Union(Range("A2:A4"), Range("A7:A9"), Range("A103:A122")) _
Is Nothing Then
Meilleur que :
If Not Intersect(Target, Range("A2:A4, A7:A9, A103:A22") Is Nothing Then
qui plante de façon intermittente.
Salutations,
Daniel M.
"aife1" <aife1@wanadoo.fr> wrote in message
news:%23xSWcmfhEHA.556@TK2MSFTNGP10.phx.gbl...
Bonjour à tous et à toutes !!
J'ai une petite question à poser (sûrement très simple pour vous, mais pas
pour moi).
Dans le code d'une feuille qui exécute par le changement des cellules A2:A4,
début du code ci-dessous :
Private Sub Worksheet_Change(ByVal Target As Range)
Dim Rg As Range, Sh As Shape, R As Variant, S As Object
If Not Intersect(Target, Range("A2:A4") Is Nothing Then
bla bla bla
Si je veux que le code s'exécute par plusieurs plages de cellules, comme
A2:A4; A7:A9 ..., comment je peux faire ? Sachant que je ne veux pas que le
code s'exécute sur toute la colonne A, mais que sur plusieurs plages
déterminées.
Si vous avez une idée, s'il vous plait aidez-moi ...
Tu peux également sélectionner en même temps tes différentes plages dans la feuille et leur associer un nom unique, "PlageMulti" par exemple.
Tu pourras ensuite te référer ainsi à l'ensemble :
Range("PlageMulti")
L'avantage est que le code est + concis, mais surtout qu'en cas d'insertion/ suppression de cellules dans la feuille, le nom continuera à être associé aux "bonnes" plages, ce qui ne serait pas le cas avec des références comme A2:A4, A7:A9...
Salut,
If Not Intersect(Target, _ Union(Range("A2:A4"), Range("A7:A9"), Range("A103:A122")) _ Is Nothing Then
Meilleur que :
If Not Intersect(Target, Range("A2:A4, A7:A9, A103:A22") Is Nothing Then
qui plante de façon intermittente.
Salutations,
Daniel M.
"aife1" wrote in message news:%
Bonjour à tous et à toutes !!
J'ai une petite question à poser (sûrement très simple pour vous, mais pas pour moi). Dans le code d'une feuille qui exécute par le changement des cellules A2:A4, début du code ci-dessous :
Private Sub Worksheet_Change(ByVal Target As Range) Dim Rg As Range, Sh As Shape, R As Variant, S As Object If Not Intersect(Target, Range("A2:A4") Is Nothing Then bla bla bla
Si je veux que le code s'exécute par plusieurs plages de cellules, comme A2:A4; A7:A9 ..., comment je peux faire ? Sachant que je ne veux pas que le code s'exécute sur toute la colonne A, mais que sur plusieurs plages déterminées.
Si vous avez une idée, s'il vous plait aidez-moi ...
Merci d'avance à vous !!!
Salutations
-- Cordialement,
Michel Gaboly http://www.gaboly.com
aife1
Bonjour et merci à vous !!
Daniel, lorsque je mets ton code, ça me met "Erreur de compilation : erreur de syntaxe", mais merci de ton aide.
MichDenis, je pense que tu as très bien compris ma demande (tu dois être habitué à me déchiffrer à force !!!), mais comme tu l'a souligné, le nom de variable est déjà existant, et là je suis perdue ...
Mais ça ne fait rien, car Michel Gaboly a trouvé une solution, et qui plus est elle est très simple à mettre en place ! Merci Michel !!
Encore merci à vous tous de vous donner tant de mal (peut-être pas tant que ça finalement ... je rigole) pour m'aider, et aussi toutes les autres personnes qui sont sur ce forum. Vous êtes tous géniaux !!!
Amicalement
"aife1" a écrit dans le message de news:%
Bonjour à tous et à toutes !!
J'ai une petite question à poser (sûrement très simple pour vous, mais pas pour moi). Dans le code d'une feuille qui exécute par le changement des cellules A2:A4,
début du code ci-dessous :
Private Sub Worksheet_Change(ByVal Target As Range) Dim Rg As Range, Sh As Shape, R As Variant, S As Object If Not Intersect(Target, Range("A2:A4") Is Nothing Then bla bla bla
Si je veux que le code s'exécute par plusieurs plages de cellules, comme A2:A4; A7:A9 ..., comment je peux faire ? Sachant que je ne veux pas que le
code s'exécute sur toute la colonne A, mais que sur plusieurs plages déterminées.
Si vous avez une idée, s'il vous plait aidez-moi ...
Merci d'avance à vous !!!
Salutations
Bonjour et merci à vous !!
Daniel, lorsque je mets ton code, ça me met "Erreur de compilation : erreur
de syntaxe", mais merci de ton aide.
MichDenis, je pense que tu as très bien compris ma demande (tu dois être
habitué à me déchiffrer à force !!!), mais comme tu l'a souligné, le nom de
variable est déjà existant, et là je suis perdue ...
Mais ça ne fait rien, car Michel Gaboly a trouvé une solution, et qui plus
est elle est très simple à mettre en place ! Merci Michel !!
Encore merci à vous tous de vous donner tant de mal (peut-être pas tant que
ça finalement ... je rigole) pour m'aider, et aussi toutes les autres
personnes qui sont sur ce forum. Vous êtes tous géniaux !!!
Amicalement
"aife1" <aife1@wanadoo.fr> a écrit dans le message de
news:%23xSWcmfhEHA.556@TK2MSFTNGP10.phx.gbl...
Bonjour à tous et à toutes !!
J'ai une petite question à poser (sûrement très simple pour vous, mais pas
pour moi).
Dans le code d'une feuille qui exécute par le changement des cellules
A2:A4,
début du code ci-dessous :
Private Sub Worksheet_Change(ByVal Target As Range)
Dim Rg As Range, Sh As Shape, R As Variant, S As Object
If Not Intersect(Target, Range("A2:A4") Is Nothing Then
bla bla bla
Si je veux que le code s'exécute par plusieurs plages de cellules, comme
A2:A4; A7:A9 ..., comment je peux faire ? Sachant que je ne veux pas que
le
code s'exécute sur toute la colonne A, mais que sur plusieurs plages
déterminées.
Si vous avez une idée, s'il vous plait aidez-moi ...
Daniel, lorsque je mets ton code, ça me met "Erreur de compilation : erreur de syntaxe", mais merci de ton aide.
MichDenis, je pense que tu as très bien compris ma demande (tu dois être habitué à me déchiffrer à force !!!), mais comme tu l'a souligné, le nom de variable est déjà existant, et là je suis perdue ...
Mais ça ne fait rien, car Michel Gaboly a trouvé une solution, et qui plus est elle est très simple à mettre en place ! Merci Michel !!
Encore merci à vous tous de vous donner tant de mal (peut-être pas tant que ça finalement ... je rigole) pour m'aider, et aussi toutes les autres personnes qui sont sur ce forum. Vous êtes tous géniaux !!!
Amicalement
"aife1" a écrit dans le message de news:%
Bonjour à tous et à toutes !!
J'ai une petite question à poser (sûrement très simple pour vous, mais pas pour moi). Dans le code d'une feuille qui exécute par le changement des cellules A2:A4,
début du code ci-dessous :
Private Sub Worksheet_Change(ByVal Target As Range) Dim Rg As Range, Sh As Shape, R As Variant, S As Object If Not Intersect(Target, Range("A2:A4") Is Nothing Then bla bla bla
Si je veux que le code s'exécute par plusieurs plages de cellules, comme A2:A4; A7:A9 ..., comment je peux faire ? Sachant que je ne veux pas que le
code s'exécute sur toute la colonne A, mais que sur plusieurs plages déterminées.
Si vous avez une idée, s'il vous plait aidez-moi ...
Merci d'avance à vous !!!
Salutations
Daniel.M
Salut Michel,
Bien d'accord. L'utilisation de NOMS est une façon (sous-utilisée?) qui contribue à se pencher sur une bonne structuration des données (en plus d'éviter les impacts au code VBA tel que tu l'as mentionné).
Salutations,
Daniel M.
"Michel Gaboly" wrote in message news:
Bonsoir,
Tu peux également sélectionner en même temps tes différentes plages dans la feuille et leur associer un nom unique, "PlageMulti" par exemple.
Tu pourras ensuite te référer ainsi à l'ensemble :
Range("PlageMulti")
L'avantage est que le code est + concis, mais surtout qu'en cas d'insertion/ suppression de cellules dans la feuille, le nom continuera à être associé aux "bonnes" plages, ce qui ne serait pas le cas avec des références comme A2:A4, A7:A9...
Salut Michel,
Bien d'accord. L'utilisation de NOMS est une façon (sous-utilisée?) qui
contribue à se pencher sur une bonne structuration des données (en plus d'éviter
les impacts au code VBA tel que tu l'as mentionné).
Salutations,
Daniel M.
"Michel Gaboly" <michel@Suppgaboly.com> wrote in message
news:4124C331.61B962D5@Suppgaboly.com...
Bonsoir,
Tu peux également sélectionner en même temps tes différentes plages
dans la feuille et leur associer un nom unique, "PlageMulti" par exemple.
Tu pourras ensuite te référer ainsi à l'ensemble :
Range("PlageMulti")
L'avantage est que le code est + concis, mais surtout qu'en cas d'insertion/
suppression de cellules dans la feuille, le nom continuera à être associé
aux "bonnes" plages, ce qui ne serait pas le cas avec des références
comme A2:A4, A7:A9...
Bien d'accord. L'utilisation de NOMS est une façon (sous-utilisée?) qui contribue à se pencher sur une bonne structuration des données (en plus d'éviter les impacts au code VBA tel que tu l'as mentionné).
Salutations,
Daniel M.
"Michel Gaboly" wrote in message news:
Bonsoir,
Tu peux également sélectionner en même temps tes différentes plages dans la feuille et leur associer un nom unique, "PlageMulti" par exemple.
Tu pourras ensuite te référer ainsi à l'ensemble :
Range("PlageMulti")
L'avantage est que le code est + concis, mais surtout qu'en cas d'insertion/ suppression de cellules dans la feuille, le nom continuera à être associé aux "bonnes" plages, ce qui ne serait pas le cas avec des références comme A2:A4, A7:A9...
Daniel.M
Daniel, lorsque je mets ton code, ça me met "Erreur de compilation : erreur de syntaxe", mais merci de ton aide.
Il manquait une parenthèse :
If Not Intersect(Target, _ Union(Range("A2:A4"), Range("A7:A9"), Range("A103:A122"))) _ Is Nothing Then
Mais comme tu l'as constaté, il vaut mieux de définir un NOM dans ce cas (comme Michel te l'a suggéré).
Salutations,
Daniel M.
Daniel, lorsque je mets ton code, ça me met "Erreur de compilation : erreur
de syntaxe", mais merci de ton aide.
Il manquait une parenthèse :
If Not Intersect(Target, _
Union(Range("A2:A4"), Range("A7:A9"), Range("A103:A122"))) _
Is Nothing Then
Mais comme tu l'as constaté, il vaut mieux de définir un NOM dans ce cas (comme
Michel te l'a suggéré).
Daniel, lorsque je mets ton code, ça me met "Erreur de compilation : erreur de syntaxe", mais merci de ton aide.
Il manquait une parenthèse :
If Not Intersect(Target, _ Union(Range("A2:A4"), Range("A7:A9"), Range("A103:A122"))) _ Is Nothing Then
Mais comme tu l'as constaté, il vaut mieux de définir un NOM dans ce cas (comme Michel te l'a suggéré).
Salutations,
Daniel M.
jps
salut daniel, je dois figurer dans ton carnet d'adresses (comme dans celui de cet autre grand absent de bdafonseca) car tu m'as fait le grand honneur de m'envoyer cet adorable petite chose du nom de W32.Netsky.T comment as-tu su que c'était mon anniversaire...de mariage? jps
"Daniel.M" a écrit dans le message de news:
Daniel, lorsque je mets ton code, ça me met "Erreur de compilation : erreur
de syntaxe", mais merci de ton aide.
Il manquait une parenthèse :
If Not Intersect(Target, _ Union(Range("A2:A4"), Range("A7:A9"), Range("A103:A122"))) _ Is Nothing Then
Mais comme tu l'as constaté, il vaut mieux de définir un NOM dans ce cas (comme
Michel te l'a suggéré).
Salutations,
Daniel M.
salut daniel,
je dois figurer dans ton carnet d'adresses (comme dans celui de cet autre
grand absent de bdafonseca) car tu m'as fait le grand honneur de m'envoyer
cet adorable petite chose du nom de W32.Netsky.T
comment as-tu su que c'était mon anniversaire...de mariage?
jps
"Daniel.M" <prenom.maher@bigfoot.inutil.com> a écrit dans le message de
news:eFw0sHghEHA.1644@tk2msftngp13.phx.gbl...
Daniel, lorsque je mets ton code, ça me met "Erreur de compilation :
erreur
de syntaxe", mais merci de ton aide.
Il manquait une parenthèse :
If Not Intersect(Target, _
Union(Range("A2:A4"), Range("A7:A9"), Range("A103:A122"))) _
Is Nothing Then
Mais comme tu l'as constaté, il vaut mieux de définir un NOM dans ce cas
(comme
salut daniel, je dois figurer dans ton carnet d'adresses (comme dans celui de cet autre grand absent de bdafonseca) car tu m'as fait le grand honneur de m'envoyer cet adorable petite chose du nom de W32.Netsky.T comment as-tu su que c'était mon anniversaire...de mariage? jps
"Daniel.M" a écrit dans le message de news:
Daniel, lorsque je mets ton code, ça me met "Erreur de compilation : erreur
de syntaxe", mais merci de ton aide.
Il manquait une parenthèse :
If Not Intersect(Target, _ Union(Range("A2:A4"), Range("A7:A9"), Range("A103:A122"))) _ Is Nothing Then
Mais comme tu l'as constaté, il vaut mieux de définir un NOM dans ce cas (comme
Michel te l'a suggéré).
Salutations,
Daniel M.
Michel Gaboly
Bonsoir,
De rien, c'était avec plaisir ;-))
Comme le confirme Daniel, les noms sont sous-employés. On peut en effet leur associer des formules, ce qui en augmente considérablement la puissance.
Par exemple en matière de paye, certaines cotisations sont plafonnées :
Si le salaire brut dépasse le plafond, la base de cotisation est limitée à ce plafond. Si le salaire brut est inférieur au plafond, la base de coti- sation est égale au brut.
Cette base s'appelle la Tranche A et est utilisée sur plusieurs lignes d'un bulletin de paye
Plus de détails ici :
http://www.gaboly.com/Excel/ChargesSociales.html
Pour faire un bulletin de paye sous Excel, on peut bien sûr utiliser une formule dans une ou plusieurs cellules pour calculer cette tranche.
Mais on peut aussi utiliser des noms :
En nommant "Brut" la cellule contenant le salaire brut, et en associant le nom "Plafond" à la valeur du plafond pour l'année, on peut définir le nom "TrancheA" comme faisant référence à
=MIN(Brut;Plafond)
La formule est dans la définition du nom et non dans une cellule.
Dans toutes les cellules où on a besoin de faire apparaître la Tranche A, il suffit d'employer la formule
=TrancheA
On gagne ainsi en lisibilité et en simplicité.
Et on peut faire des choses bien + complexes avec les noms ;-))))
Bonjour et merci à vous !!
Daniel, lorsque je mets ton code, ça me met "Erreur de compilation : erreur de syntaxe", mais merci de ton aide.
MichDenis, je pense que tu as très bien compris ma demande (tu dois être habitué à me déchiffrer à force !!!), mais comme tu l'a souligné, le nom de variable est déjà existant, et là je suis perdue ...
Mais ça ne fait rien, car Michel Gaboly a trouvé une solution, et qui plus est elle est très simple à mettre en place ! Merci Michel !!
Encore merci à vous tous de vous donner tant de mal (peut-être pas tant que ça finalement ... je rigole) pour m'aider, et aussi toutes les autres personnes qui sont sur ce forum. Vous êtes tous géniaux !!!
Amicalement
"aife1" a écrit dans le message de news:%
Bonjour à tous et à toutes !!
J'ai une petite question à poser (sûrement très simple pour vous, mais pas pour moi). Dans le code d'une feuille qui exécute par le changement des cellules A2:A4,
début du code ci-dessous :
Private Sub Worksheet_Change(ByVal Target As Range) Dim Rg As Range, Sh As Shape, R As Variant, S As Object If Not Intersect(Target, Range("A2:A4") Is Nothing Then bla bla bla
Si je veux que le code s'exécute par plusieurs plages de cellules, comme A2:A4; A7:A9 ..., comment je peux faire ? Sachant que je ne veux pas que le
code s'exécute sur toute la colonne A, mais que sur plusieurs plages déterminées.
Si vous avez une idée, s'il vous plait aidez-moi ...
Merci d'avance à vous !!!
Salutations
-- Cordialement,
Michel Gaboly http://www.gaboly.com
Bonsoir,
De rien, c'était avec plaisir ;-))
Comme le confirme Daniel, les noms sont sous-employés. On peut en
effet leur associer des formules, ce qui en augmente considérablement
la puissance.
Par exemple en matière de paye, certaines cotisations sont plafonnées :
Si le salaire brut dépasse le plafond, la base de cotisation est limitée
à ce plafond. Si le salaire brut est inférieur au plafond, la base de coti-
sation est égale au brut.
Cette base s'appelle la Tranche A et est utilisée sur plusieurs lignes
d'un bulletin de paye
Plus de détails ici :
http://www.gaboly.com/Excel/ChargesSociales.html
Pour faire un bulletin de paye sous Excel, on peut bien sûr utiliser
une formule dans une ou plusieurs cellules pour calculer cette tranche.
Mais on peut aussi utiliser des noms :
En nommant "Brut" la cellule contenant le salaire brut, et en associant
le nom "Plafond" à la valeur du plafond pour l'année, on peut définir le
nom "TrancheA" comme faisant référence à
=MIN(Brut;Plafond)
La formule est dans la définition du nom et non dans une cellule.
Dans toutes les cellules où on a besoin de faire apparaître la Tranche A, il
suffit d'employer la formule
=TrancheA
On gagne ainsi en lisibilité et en simplicité.
Et on peut faire des choses bien + complexes avec les noms ;-))))
Bonjour et merci à vous !!
Daniel, lorsque je mets ton code, ça me met "Erreur de compilation : erreur
de syntaxe", mais merci de ton aide.
MichDenis, je pense que tu as très bien compris ma demande (tu dois être
habitué à me déchiffrer à force !!!), mais comme tu l'a souligné, le nom de
variable est déjà existant, et là je suis perdue ...
Mais ça ne fait rien, car Michel Gaboly a trouvé une solution, et qui plus
est elle est très simple à mettre en place ! Merci Michel !!
Encore merci à vous tous de vous donner tant de mal (peut-être pas tant que
ça finalement ... je rigole) pour m'aider, et aussi toutes les autres
personnes qui sont sur ce forum. Vous êtes tous géniaux !!!
Amicalement
"aife1" <aife1@wanadoo.fr> a écrit dans le message de
news:%23xSWcmfhEHA.556@TK2MSFTNGP10.phx.gbl...
Bonjour à tous et à toutes !!
J'ai une petite question à poser (sûrement très simple pour vous, mais pas
pour moi).
Dans le code d'une feuille qui exécute par le changement des cellules
A2:A4,
début du code ci-dessous :
Private Sub Worksheet_Change(ByVal Target As Range)
Dim Rg As Range, Sh As Shape, R As Variant, S As Object
If Not Intersect(Target, Range("A2:A4") Is Nothing Then
bla bla bla
Si je veux que le code s'exécute par plusieurs plages de cellules, comme
A2:A4; A7:A9 ..., comment je peux faire ? Sachant que je ne veux pas que
le
code s'exécute sur toute la colonne A, mais que sur plusieurs plages
déterminées.
Si vous avez une idée, s'il vous plait aidez-moi ...
Comme le confirme Daniel, les noms sont sous-employés. On peut en effet leur associer des formules, ce qui en augmente considérablement la puissance.
Par exemple en matière de paye, certaines cotisations sont plafonnées :
Si le salaire brut dépasse le plafond, la base de cotisation est limitée à ce plafond. Si le salaire brut est inférieur au plafond, la base de coti- sation est égale au brut.
Cette base s'appelle la Tranche A et est utilisée sur plusieurs lignes d'un bulletin de paye
Plus de détails ici :
http://www.gaboly.com/Excel/ChargesSociales.html
Pour faire un bulletin de paye sous Excel, on peut bien sûr utiliser une formule dans une ou plusieurs cellules pour calculer cette tranche.
Mais on peut aussi utiliser des noms :
En nommant "Brut" la cellule contenant le salaire brut, et en associant le nom "Plafond" à la valeur du plafond pour l'année, on peut définir le nom "TrancheA" comme faisant référence à
=MIN(Brut;Plafond)
La formule est dans la définition du nom et non dans une cellule.
Dans toutes les cellules où on a besoin de faire apparaître la Tranche A, il suffit d'employer la formule
=TrancheA
On gagne ainsi en lisibilité et en simplicité.
Et on peut faire des choses bien + complexes avec les noms ;-))))
Bonjour et merci à vous !!
Daniel, lorsque je mets ton code, ça me met "Erreur de compilation : erreur de syntaxe", mais merci de ton aide.
MichDenis, je pense que tu as très bien compris ma demande (tu dois être habitué à me déchiffrer à force !!!), mais comme tu l'a souligné, le nom de variable est déjà existant, et là je suis perdue ...
Mais ça ne fait rien, car Michel Gaboly a trouvé une solution, et qui plus est elle est très simple à mettre en place ! Merci Michel !!
Encore merci à vous tous de vous donner tant de mal (peut-être pas tant que ça finalement ... je rigole) pour m'aider, et aussi toutes les autres personnes qui sont sur ce forum. Vous êtes tous géniaux !!!
Amicalement
"aife1" a écrit dans le message de news:%
Bonjour à tous et à toutes !!
J'ai une petite question à poser (sûrement très simple pour vous, mais pas pour moi). Dans le code d'une feuille qui exécute par le changement des cellules A2:A4,
début du code ci-dessous :
Private Sub Worksheet_Change(ByVal Target As Range) Dim Rg As Range, Sh As Shape, R As Variant, S As Object If Not Intersect(Target, Range("A2:A4") Is Nothing Then bla bla bla
Si je veux que le code s'exécute par plusieurs plages de cellules, comme A2:A4; A7:A9 ..., comment je peux faire ? Sachant que je ne veux pas que le
code s'exécute sur toute la colonne A, mais que sur plusieurs plages déterminées.
Si vous avez une idée, s'il vous plait aidez-moi ...
Merci d'avance à vous !!!
Salutations
-- Cordialement,
Michel Gaboly http://www.gaboly.com
Daniel.M
JPS,
?!!?
C'est pas W32.Netsky.T, c'est Whisky, et tu en as trop pris :-))
Suite en bal perso.
Daniel M. (et bon anniversaire quand même :-) )
"jps" wrote in message news:u%23H$
salut daniel, je dois figurer dans ton carnet d'adresses (comme dans celui de cet autre grand absent de bdafonseca) car tu m'as fait le grand honneur de m'envoyer cet adorable petite chose du nom de W32.Netsky.T comment as-tu su que c'était mon anniversaire...de mariage? jps
JPS,
?!!?
C'est pas W32.Netsky.T, c'est Whisky, et tu en as trop pris :-))
Suite en bal perso.
Daniel M. (et bon anniversaire quand même :-) )
"jps" <NoAddressNoPhoneNoMoney@NoWorries.bjl> wrote in message
news:u%23H$hSghEHA.2340@TK2MSFTNGP11.phx.gbl...
salut daniel,
je dois figurer dans ton carnet d'adresses (comme dans celui de cet autre
grand absent de bdafonseca) car tu m'as fait le grand honneur de m'envoyer
cet adorable petite chose du nom de W32.Netsky.T
comment as-tu su que c'était mon anniversaire...de mariage?
jps
C'est pas W32.Netsky.T, c'est Whisky, et tu en as trop pris :-))
Suite en bal perso.
Daniel M. (et bon anniversaire quand même :-) )
"jps" wrote in message news:u%23H$
salut daniel, je dois figurer dans ton carnet d'adresses (comme dans celui de cet autre grand absent de bdafonseca) car tu m'as fait le grand honneur de m'envoyer cet adorable petite chose du nom de W32.Netsky.T comment as-tu su que c'était mon anniversaire...de mariage? jps
sabatier
:-)))))) jps (qui pense que overdose de whisky vaut bien 10000 NAV)
"Daniel.M" a écrit dans le message de news:%2347$
JPS,
?!!?
C'est pas W32.Netsky.T, c'est Whisky, et tu en as trop pris :-))
Suite en bal perso.
Daniel M. (et bon anniversaire quand même :-) )
"jps" wrote in message news:u%23H$
salut daniel, je dois figurer dans ton carnet d'adresses (comme dans celui de cet autre
grand absent de bdafonseca) car tu m'as fait le grand honneur de m'envoyer
cet adorable petite chose du nom de W32.Netsky.T comment as-tu su que c'était mon anniversaire...de mariage? jps
:-))))))
jps (qui pense que overdose de whisky vaut bien 10000 NAV)
"Daniel.M" <prenom.maher@bigfoot.inutil.com> a écrit dans le message de
news:%2347$OjihEHA.3932@TK2MSFTNGP09.phx.gbl...
JPS,
?!!?
C'est pas W32.Netsky.T, c'est Whisky, et tu en as trop pris :-))
Suite en bal perso.
Daniel M. (et bon anniversaire quand même :-) )
"jps" <NoAddressNoPhoneNoMoney@NoWorries.bjl> wrote in message
news:u%23H$hSghEHA.2340@TK2MSFTNGP11.phx.gbl...
salut daniel,
je dois figurer dans ton carnet d'adresses (comme dans celui de cet
autre
grand absent de bdafonseca) car tu m'as fait le grand honneur de
m'envoyer
cet adorable petite chose du nom de W32.Netsky.T
comment as-tu su que c'était mon anniversaire...de mariage?
jps