savoir si une cellule sélectionnée appartient à une zone de cellule
4 réponses
marc.dufresne
bonsoir
comment faire savoir si une cellule sélectionnée appartient à une zone de
cellule non contigue déterminée??
j'ai essayé dans "Private Sub Worksheet_Change(ByVal Target As Range)" if
target.adress = $C$3.... mais là je suis obligé de nommé toutes les cellules
modifiables!
je vous remercie pour vos idées
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
Pierre Fauconnier
Bonsoir
Dans le worksheet_selectionchange, tu mets ceci
Private Sub Worksheet_SelectionChange(ByVal Target As Range) If Not Intersect(Target, Range("a1:a10,c4:D25")) Is Nothing Then _ MsgBox "La cellule appartient à la plage A1:A10;C4:D25" If Not Intersect(Target, [maplage]) Is Nothing Then _ MsgBox "La cellule appartient à la plage nommée ""maPlage""" End Sub
Le premier if teste sur une plage que tu développe in extenso, le second teste la cellule par rapport à une plage nommée
-- Pierre Fauconnier () Les sept laids tuent ( Lewis Carol ) Remplacez nospam.nospam par pfi.be pour répondre. Merci
"marc.dufresne" a écrit dans le message de news:409d21b1$0$20746$
bonsoir comment faire savoir si une cellule sélectionnée appartient à une zone de cellule non contigue déterminée?? j'ai essayé dans "Private Sub Worksheet_Change(ByVal Target As Range)" if target.adress = $C$3.... mais là je suis obligé de nommé toutes les cellules
modifiables! je vous remercie pour vos idées
Bonsoir
Dans le worksheet_selectionchange, tu mets ceci
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Not Intersect(Target, Range("a1:a10,c4:D25")) Is Nothing Then _
MsgBox "La cellule appartient à la plage A1:A10;C4:D25"
If Not Intersect(Target, [maplage]) Is Nothing Then _
MsgBox "La cellule appartient à la plage nommée ""maPlage"""
End Sub
Le premier if teste sur une plage que tu développe in extenso, le second
teste la cellule par rapport à une plage nommée
--
Pierre Fauconnier (pierre.fauconnier@nospam.nospam)
Les sept laids tuent ( Lewis Carol )
Remplacez nospam.nospam par pfi.be pour répondre. Merci
"marc.dufresne" <pasde.mail.direct.marcdufresne@free.fr> a écrit dans le
message de news:409d21b1$0$20746$626a14ce@news.free.fr...
bonsoir
comment faire savoir si une cellule sélectionnée appartient à une zone de
cellule non contigue déterminée??
j'ai essayé dans "Private Sub Worksheet_Change(ByVal Target As Range)" if
target.adress = $C$3.... mais là je suis obligé de nommé toutes les
cellules
Private Sub Worksheet_SelectionChange(ByVal Target As Range) If Not Intersect(Target, Range("a1:a10,c4:D25")) Is Nothing Then _ MsgBox "La cellule appartient à la plage A1:A10;C4:D25" If Not Intersect(Target, [maplage]) Is Nothing Then _ MsgBox "La cellule appartient à la plage nommée ""maPlage""" End Sub
Le premier if teste sur une plage que tu développe in extenso, le second teste la cellule par rapport à une plage nommée
-- Pierre Fauconnier () Les sept laids tuent ( Lewis Carol ) Remplacez nospam.nospam par pfi.be pour répondre. Merci
"marc.dufresne" a écrit dans le message de news:409d21b1$0$20746$
bonsoir comment faire savoir si une cellule sélectionnée appartient à une zone de cellule non contigue déterminée?? j'ai essayé dans "Private Sub Worksheet_Change(ByVal Target As Range)" if target.adress = $C$3.... mais là je suis obligé de nommé toutes les cellules
modifiables! je vous remercie pour vos idées
Pascal Engelmajer
Salut, deux petites fonctions : Private Sub Worksheet_SelectionChange(ByVal Target As Range) MsgBox estDansZoneNommee(Target) MsgBox estDansLaZoneNommee(Target) End Sub Function estDansZoneNommee(cell As Range) As Boolean Dim pl As Range estDansZoneNommee = False For Each nom In Application.Names With nom Set pl = Nothing On Error Resume Next Set pl = Range(.Name) On Error GoTo 0 If InStr(.Name, "_FilterDatabase") Or InStr(.Name, "Print_Area") Then 'rien pour la zone de filtre et la zone d'impression Else If Not pl Is Nothing Then If Not Intersect(pl, cell) Is Nothing Then estDansZoneNommee = True Exit Function End If End If End If End With Next nom End Function Function estDansLaZoneNommee(cell As Range) As String Dim pl As Range estDansLaZoneNommee = "dans aucune zone nommée" For Each nom In Application.Names With nom Set pl = Nothing On Error Resume Next Set pl = Range(.Name) On Error GoTo 0 If Not pl Is Nothing Then If InStr(.Name, "_FilterDatabase") Or InStr(.Name, "Print_Area") Then Else If Not Intersect(pl, cell) Is Nothing Then estDansLaZoneNommee = .Name Exit Function End If End If End If End With Next nom End Function
-- Amicalement. Pascal "il n'y a pas de vent favorable pour celui qui ne sait pas ou il va." Sénèque. http://www.ilyapa.net/excel "marc.dufresne" a écrit dans le message de news: 409d21b1$0$20746$
bonsoir comment faire savoir si une cellule sélectionnée appartient à une zone de cellule non contigue déterminée?? j'ai essayé dans "Private Sub Worksheet_Change(ByVal Target As Range)" if target.adress = $C$3.... mais là je suis obligé de nommé toutes les cellules
modifiables! je vous remercie pour vos idées
Salut,
deux petites fonctions :
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
MsgBox estDansZoneNommee(Target)
MsgBox estDansLaZoneNommee(Target)
End Sub
Function estDansZoneNommee(cell As Range) As Boolean
Dim pl As Range
estDansZoneNommee = False
For Each nom In Application.Names
With nom
Set pl = Nothing
On Error Resume Next
Set pl = Range(.Name)
On Error GoTo 0
If InStr(.Name, "_FilterDatabase") Or InStr(.Name, "Print_Area")
Then
'rien pour la zone de filtre et la zone d'impression
Else
If Not pl Is Nothing Then
If Not Intersect(pl, cell) Is Nothing Then
estDansZoneNommee = True
Exit Function
End If
End If
End If
End With
Next nom
End Function
Function estDansLaZoneNommee(cell As Range) As String
Dim pl As Range
estDansLaZoneNommee = "dans aucune zone nommée"
For Each nom In Application.Names
With nom
Set pl = Nothing
On Error Resume Next
Set pl = Range(.Name)
On Error GoTo 0
If Not pl Is Nothing Then
If InStr(.Name, "_FilterDatabase") Or InStr(.Name,
"Print_Area") Then
Else
If Not Intersect(pl, cell) Is Nothing Then
estDansLaZoneNommee = .Name
Exit Function
End If
End If
End If
End With
Next nom
End Function
--
Amicalement.
Pascal
"il n'y a pas de vent favorable pour celui qui ne sait pas ou il va."
Sénèque.
http://www.ilyapa.net/excel
"marc.dufresne" <pasde.mail.direct.marcdufresne@free.fr> a écrit dans le
message de news: 409d21b1$0$20746$626a14ce@news.free.fr...
bonsoir
comment faire savoir si une cellule sélectionnée appartient à une zone de
cellule non contigue déterminée??
j'ai essayé dans "Private Sub Worksheet_Change(ByVal Target As Range)" if
target.adress = $C$3.... mais là je suis obligé de nommé toutes les
cellules
Salut, deux petites fonctions : Private Sub Worksheet_SelectionChange(ByVal Target As Range) MsgBox estDansZoneNommee(Target) MsgBox estDansLaZoneNommee(Target) End Sub Function estDansZoneNommee(cell As Range) As Boolean Dim pl As Range estDansZoneNommee = False For Each nom In Application.Names With nom Set pl = Nothing On Error Resume Next Set pl = Range(.Name) On Error GoTo 0 If InStr(.Name, "_FilterDatabase") Or InStr(.Name, "Print_Area") Then 'rien pour la zone de filtre et la zone d'impression Else If Not pl Is Nothing Then If Not Intersect(pl, cell) Is Nothing Then estDansZoneNommee = True Exit Function End If End If End If End With Next nom End Function Function estDansLaZoneNommee(cell As Range) As String Dim pl As Range estDansLaZoneNommee = "dans aucune zone nommée" For Each nom In Application.Names With nom Set pl = Nothing On Error Resume Next Set pl = Range(.Name) On Error GoTo 0 If Not pl Is Nothing Then If InStr(.Name, "_FilterDatabase") Or InStr(.Name, "Print_Area") Then Else If Not Intersect(pl, cell) Is Nothing Then estDansLaZoneNommee = .Name Exit Function End If End If End If End With Next nom End Function
-- Amicalement. Pascal "il n'y a pas de vent favorable pour celui qui ne sait pas ou il va." Sénèque. http://www.ilyapa.net/excel "marc.dufresne" a écrit dans le message de news: 409d21b1$0$20746$
bonsoir comment faire savoir si une cellule sélectionnée appartient à une zone de cellule non contigue déterminée?? j'ai essayé dans "Private Sub Worksheet_Change(ByVal Target As Range)" if target.adress = $C$3.... mais là je suis obligé de nommé toutes les cellules
modifiables! je vous remercie pour vos idées
marc.dufresne
merci c'est ce qui me conviens parfaitement
"Pierre Fauconnier" a écrit dans le message de news: ##
Bonsoir
Dans le worksheet_selectionchange, tu mets ceci
Private Sub Worksheet_SelectionChange(ByVal Target As Range) If Not Intersect(Target, Range("a1:a10,c4:D25")) Is Nothing Then _ MsgBox "La cellule appartient à la plage A1:A10;C4:D25" If Not Intersect(Target, [maplage]) Is Nothing Then _ MsgBox "La cellule appartient à la plage nommée ""maPlage""" End Sub
Le premier if teste sur une plage que tu développe in extenso, le second teste la cellule par rapport à une plage nommée
-- Pierre Fauconnier () Les sept laids tuent ( Lewis Carol ) Remplacez nospam.nospam par pfi.be pour répondre. Merci
"marc.dufresne" a écrit dans le message de news:409d21b1$0$20746$
bonsoir comment faire savoir si une cellule sélectionnée appartient à une zone de
cellule non contigue déterminée?? j'ai essayé dans "Private Sub Worksheet_Change(ByVal Target As Range)" if
target.adress = $C$3.... mais là je suis obligé de nommé toutes les cellules
modifiables! je vous remercie pour vos idées
merci c'est ce qui me conviens parfaitement
"Pierre Fauconnier" <pierre.fauconnier@nospam.nospam> a écrit dans le
message de news: ##TmH9SNEHA.2500@TK2MSFTNGP12.phx.gbl...
Bonsoir
Dans le worksheet_selectionchange, tu mets ceci
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Not Intersect(Target, Range("a1:a10,c4:D25")) Is Nothing Then _
MsgBox "La cellule appartient à la plage A1:A10;C4:D25"
If Not Intersect(Target, [maplage]) Is Nothing Then _
MsgBox "La cellule appartient à la plage nommée ""maPlage"""
End Sub
Le premier if teste sur une plage que tu développe in extenso, le second
teste la cellule par rapport à une plage nommée
--
Pierre Fauconnier (pierre.fauconnier@nospam.nospam)
Les sept laids tuent ( Lewis Carol )
Remplacez nospam.nospam par pfi.be pour répondre. Merci
"marc.dufresne" <pasde.mail.direct.marcdufresne@free.fr> a écrit dans le
message de news:409d21b1$0$20746$626a14ce@news.free.fr...
bonsoir
comment faire savoir si une cellule sélectionnée appartient à une zone
de
cellule non contigue déterminée??
j'ai essayé dans "Private Sub Worksheet_Change(ByVal Target As Range)"
if
target.adress = $C$3.... mais là je suis obligé de nommé toutes les
cellules
"Pierre Fauconnier" a écrit dans le message de news: ##
Bonsoir
Dans le worksheet_selectionchange, tu mets ceci
Private Sub Worksheet_SelectionChange(ByVal Target As Range) If Not Intersect(Target, Range("a1:a10,c4:D25")) Is Nothing Then _ MsgBox "La cellule appartient à la plage A1:A10;C4:D25" If Not Intersect(Target, [maplage]) Is Nothing Then _ MsgBox "La cellule appartient à la plage nommée ""maPlage""" End Sub
Le premier if teste sur une plage que tu développe in extenso, le second teste la cellule par rapport à une plage nommée
-- Pierre Fauconnier () Les sept laids tuent ( Lewis Carol ) Remplacez nospam.nospam par pfi.be pour répondre. Merci
"marc.dufresne" a écrit dans le message de news:409d21b1$0$20746$
bonsoir comment faire savoir si une cellule sélectionnée appartient à une zone de
cellule non contigue déterminée?? j'ai essayé dans "Private Sub Worksheet_Change(ByVal Target As Range)" if
target.adress = $C$3.... mais là je suis obligé de nommé toutes les cellules
modifiables! je vous remercie pour vos idées
maverick7
Le samedi 08 Mai 2004 à 20:08 par marc.dufresne :
bonsoir comment faire savoir si une cellule sélectionnée appartient à une zone de cellule non contigue déterminée?? j'ai essayé dans "Private Sub Worksheet_Change(ByVal Target As Range)" if target.adress = $C$3.... mais là je suis obligé de nommé toutes les cellules modifiables! je vous remercie pour vos idées
Bonjour J'ai créé un fichier excel pour un cahier Dans ce cahier tout est figé par un mdp. Les utilisateurs peuvent seulement rentrer du texte dans certaines zone. Il y a un en-tête de 10 lignes que les utilisateurs n'ont pas le droit de modifier J'aimerais autoriser à écrire en rouge une ligne du texte. Je n'ai pas trouvé la possibilité de laisser la mise en forme à disposition (sauf en laissant la modification de format de cellule activé. Cette solution ne me convient pas car les utilisateurs pourront modifier toutes les cellules même celles qu'ils n'ont pas le droit de modifier (en-tête)) Donc j'ai trouvé la solution suivant créer un bouton qui mettra le texte en rouge. Cette solution ne convient bien mais les utilisateurs pourront modifier l'en-tête et la mettre en rouge. Macro pour le texte en rouge Sheets("Feuille de quart").Unprotect Password:="a" With Selection.Font .Color = -16776961 .TintAndShade = 0 End With Sheets("Feuille de quart").Protect Password:="a" La fonction fonctionne bien le texte dans la case sélectionnée passe en rouge J'aimerais rajouter la fonction If ou autre pour dire que la fonction de changer de couleur est autorisée si la sélection est dans la zone D17 à L50 Merci d'avance :) J'espère avoir été claire :)
Le samedi 08 Mai 2004 à 20:08 par marc.dufresne :
> bonsoir
> comment faire savoir si une cellule sélectionnée appartient
> à une zone de
> cellule non contigue déterminée??
> j'ai essayé dans "Private Sub Worksheet_Change(ByVal Target As
> Range)" if
> target.adress = $C$3.... mais là je suis obligé de nommé
> toutes les cellules
> modifiables!
> je vous remercie pour vos idées
Bonjour
J'ai créé un fichier excel pour un cahier
Dans ce cahier tout est figé par un mdp.
Les utilisateurs peuvent seulement rentrer du texte dans certaines zone.
Il y a un en-tête de 10 lignes que les utilisateurs n'ont pas le droit de modifier
J'aimerais autoriser à écrire en rouge une ligne du texte.
Je n'ai pas trouvé la possibilité de laisser la mise en forme à disposition (sauf en laissant la modification de format de cellule activé. Cette solution ne me convient pas car les utilisateurs pourront modifier toutes les cellules même celles qu'ils n'ont pas le droit de modifier (en-tête))
Donc j'ai trouvé la solution suivant créer un bouton qui mettra le texte en rouge.
Cette solution ne convient bien mais les utilisateurs pourront modifier l'en-tête et la mettre en rouge.
Macro pour le texte en rouge
Sheets("Feuille de quart").Unprotect Password:="a"
With Selection.Font
.Color = -16776961
.TintAndShade = 0
End With
Sheets("Feuille de quart").Protect Password:="a"
La fonction fonctionne bien le texte dans la case sélectionnée passe en rouge
J'aimerais rajouter la fonction If ou autre pour dire que la fonction de changer de couleur est autorisée si la sélection est dans la zone D17 à L50
Merci d'avance :)
J'espère avoir été claire :)
bonsoir comment faire savoir si une cellule sélectionnée appartient à une zone de cellule non contigue déterminée?? j'ai essayé dans "Private Sub Worksheet_Change(ByVal Target As Range)" if target.adress = $C$3.... mais là je suis obligé de nommé toutes les cellules modifiables! je vous remercie pour vos idées
Bonjour J'ai créé un fichier excel pour un cahier Dans ce cahier tout est figé par un mdp. Les utilisateurs peuvent seulement rentrer du texte dans certaines zone. Il y a un en-tête de 10 lignes que les utilisateurs n'ont pas le droit de modifier J'aimerais autoriser à écrire en rouge une ligne du texte. Je n'ai pas trouvé la possibilité de laisser la mise en forme à disposition (sauf en laissant la modification de format de cellule activé. Cette solution ne me convient pas car les utilisateurs pourront modifier toutes les cellules même celles qu'ils n'ont pas le droit de modifier (en-tête)) Donc j'ai trouvé la solution suivant créer un bouton qui mettra le texte en rouge. Cette solution ne convient bien mais les utilisateurs pourront modifier l'en-tête et la mettre en rouge. Macro pour le texte en rouge Sheets("Feuille de quart").Unprotect Password:="a" With Selection.Font .Color = -16776961 .TintAndShade = 0 End With Sheets("Feuille de quart").Protect Password:="a" La fonction fonctionne bien le texte dans la case sélectionnée passe en rouge J'aimerais rajouter la fonction If ou autre pour dire que la fonction de changer de couleur est autorisée si la sélection est dans la zone D17 à L50 Merci d'avance :) J'espère avoir été claire :)