soustraire des zones ....à d'autres zone ?

Le
Alfred WALLACE
bonjour (re re re )
désolé de "spammer" le newsgroup .
mais vous m'etes vraiment d'un énorme secours !


je suis toujours en recherche de méthodes sur mes zones
nommées

ici, j'ai une zone "SAISIE" d'une seule ligne et de 7 colonnes.

je selectionne la colonne 1 à la colonne 5 appartenant à "SAISIE"


Ma quetion :

est ce que, je peux deselectionner la colonne 1 à 5 et selectionner le
reste (c'est
à dire colonne 6 à 8) d'une façon "simple" ?

une sorte d'opération booleenne qui pour la zone "SAISIE" inverse
ce qui est selectionné et ce qui ne l'ai pas.

exemple : (le caractére "_" représente la selection.)

SAISIE -->
'______****' si on inverse la selection çà donne
'******____'


j'espère avoir été clair.

Merci
José
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Daniel.C
Le #18567901
Bonjour.
A condition que les cellules sélectionnées commencent à gauche de la
plage :
[A1:G1].Resize(, 7 - Selection.Count).Offset(, Selection.Count).Select
Cordialement.
Daniel

bonjour (re re re ...)
désolé de "spammer" le newsgroup ....
mais vous m'etes vraiment d'un énorme secours !


je suis toujours en recherche de méthodes sur mes zones
nommées...

ici, j'ai une zone "SAISIE" d'une seule ligne et de 7 colonnes.

je selectionne la colonne 1 à la colonne 5 appartenant à "SAISIE"


Ma quetion :

est ce que, je peux deselectionner la colonne 1 à 5 et selectionner le
reste (c'est
à dire colonne 6 à 8) d'une façon "simple" ?

une sorte d'opération booleenne qui pour la zone "SAISIE" inverse
ce qui est selectionné et ce qui ne l'ai pas.

exemple : (le caractére "_" représente la selection.)

SAISIE -->
'______****' si on inverse la selection çà donne
'******____'


j'espère avoir été clair.

Merci
José


Pounet95
Le #18568091
Re, ( eh spammer mais pas tro(ll)p :o)))

Sans trop fouiller, regardes du côté de l'instruction Intersect agrémentée
d'un Not
Ya p't^t ben queqchose à tirer de ça, mais j'ai pas vérifié

Pounet95

"Alfred WALLACE" news:
bonjour (re re re ...)
désolé de "spammer" le newsgroup ....
mais vous m'etes vraiment d'un énorme secours !


je suis toujours en recherche de méthodes sur mes zones
nommées...

ici, j'ai une zone "SAISIE" d'une seule ligne et de 7 colonnes.

je selectionne la colonne 1 à la colonne 5 appartenant à "SAISIE"


Ma quetion :

est ce que, je peux deselectionner la colonne 1 à 5 et selectionner le
reste (c'est
à dire colonne 6 à 8) d'une façon "simple" ?

une sorte d'opération booleenne qui pour la zone "SAISIE" inverse
ce qui est selectionné et ce qui ne l'ai pas.

exemple : (le caractére "_" représente la selection.)

SAISIE -->
'______****' si on inverse la selection çà donne
'******____'


j'espère avoir été clair.

Merci
José
Alfred WALLACE
Le #18568081
Merci Daniel,

du coup, j'ai adapté ton code comme celà :

[SAISIE].Resize(, [SAISIE].Count - Selection.Count).Offset(,
Selection.Count).Select

çà fonctionne !

Si je souhaite diminuer le nombre de colonnes selectionnées de cette
nouvelle selection
je suppose que je dois faire un truc du genre :

selection.resize( , Selection.Count - 2) ?


Merci encore


On 3 fév, 11:18, Daniel.C
Bonjour.
A condition que les cellules sélectionnées commencent à gauche de l a
plage :
[A1:G1].Resize(, 7 - Selection.Count).Offset(, Selection.Count).Select
Cordialement.
Daniel


Modeste
Le #18568561
Bonsour® Alfred WALLACE
je suis toujours en recherche de méthodes sur mes zones
nommées...
ici, j'ai une zone "SAISIE" d'une seule ligne et de 7 colonnes.
je selectionne la colonne 1 à la colonne 5 appartenant à "SAISIE"
Ma quetion :
est ce que, je peux deselectionner la colonne 1 à 5 et selectionner le
reste (c'est
à dire colonne 6 à 8) d'une façon "simple" ?
une sorte d'opération booleenne qui pour la zone "SAISIE" inverse
ce qui est selectionné et ce qui ne l'ai pas.



;o)))
Solution fournie le 26/01 : Ensemble complémentaire

Sub Grommit()' -----à associer à un bouton déposé dans une barre d'outils perso
Dim cellule As Range, selSpec As Range
Set selSpec = Nothing '------la selection alternative est vide au départ
For Each cellule In Range("SAISIE")
If Intersect(cellule, Selection) Is Nothing Then ' --Ctrl la selection est dans le tableau
' --- la 1ere fois initialisation de la selection alternative
If selSpec Is Nothing Then Set selSpec = Range(cellule.Address)
' --- extension de la selection alternative
Set selSpec = Application.Union(selSpec, Range(cellule.Address))
End If
Next
' ---- si la selection alternative existe sinon
If Not selSpec Is Nothing Then
selSpec.Select
else
msgbox "pas d'alternative",vbexclamation, "cristi de bine!!!"
end if
End Sub
garnote
Le #18568231
Bonjour,


Voir le fil débutant le 26-01-2009 à 02:54

Voici une macro à fignoler :

Sub Complément()
Dim comp As Range
Dim c As Range, s As Range, t As Range
Dim i%, k%
Set s = Selection
Set t = Range("SAISIE")
For Each c In t
i = i + 1
If Intersect(c, s) Is Nothing Then
k = k + 1
If k = 1 Then Set comp = t(i) Else Set comp = Union(comp, t(i))
End If
Next c
comp.Select
End Sub

Serge






"Alfred WALLACE"
bonjour (re re re ...)
désolé de "spammer" le newsgroup ....
mais vous m'etes vraiment d'un énorme secours !


je suis toujours en recherche de méthodes sur mes zones
nommées...

ici, j'ai une zone "SAISIE" d'une seule ligne et de 7 colonnes.

je selectionne la colonne 1 à la colonne 5 appartenant à "SAISIE"


Ma quetion :

est ce que, je peux deselectionner la colonne 1 à 5 et selectionner le
reste (c'est
à dire colonne 6 à 8) d'une façon "simple" ?

une sorte d'opération booleenne qui pour la zone "SAISIE" inverse
ce qui est selectionné et ce qui ne l'ai pas.

exemple : (le caractére "_" représente la selection.)

SAISIE -->
'______****' si on inverse la selection çà donne
'******____'


j'espère avoir été clair.

Merci
José
Daniel.C
Le #18568461
A mon avis, oui, mais je ne suis pas sûr de comprendre... Le mieux est
de tester.
Daniel

Merci Daniel,

du coup, j'ai adapté ton code comme celà :

[SAISIE].Resize(, [SAISIE].Count - Selection.Count).Offset(,
Selection.Count).Select

çà fonctionne !

Si je souhaite diminuer le nombre de colonnes selectionnées de cette
nouvelle selection
je suppose que je dois faire un truc du genre :

selection.resize( , Selection.Count - 2) ?


Merci encore


On 3 fév, 11:18, Daniel.C
Bonjour.
A condition que les cellules sélectionnées commencent à gauche de la
plage :
[A1:G1].Resize(, 7 - Selection.Count).Offset(, Selection.Count).Select
Cordialement.
Daniel




Publicité
Poster une réponse
Anonyme