OVH Cloud OVH Cloud

Intersect

7 réponses
Avatar
Jacky
Bonjour à tous

Pourquoi ce code ne fonctionne pas ??

If Intersect(Selection, [lecteurserie1], [lecteurserie2]) Is Nothing Then
MsgBox "La cellule que vous avez selectioné" & Chr$(10) & "ne peut
contenir cette information." & Chr$(10) & Chr$(10) & "Recommencez.", 64,
"Information"
End
End If

Alors que comme celui-ci fonctionne...

If Intersect(Selection, [lecteurserie1]) Is Nothing Then
If Intersect(Selection, [lecteurserie2]) Is Nothing Then
MsgBox "La cellule que vous avez selectioné" & Chr$(10) & "ne peut
contenir cette information." & Chr$(10) & Chr$(10) & "Recommencez.", 64,
"Information"
End
End If
End If

En effet quand je rajoute le 3ème argument dans le premier code celui-ci me
retourne une information erronée.

Bonne journée
JJ

7 réponses

Avatar
AV
En effet quand je rajoute le 3ème argument dans le premier code celui-ci me
retourne une information erronée.


Chez moi ça fonctionne très bien ...
Faudrait voir ce qui se cache derrière les plages [lecteurserie1] et
[lecteurserie2]

AV

Avatar
michdenis
Bonjour Jacky,

Écrit de cette manière :

Bonjour Jacky,


If Intersect(Selection, [lecteurserie1], [lecteurserie2]) Is Nothing Then

L'intersection vise les 3 plages. c'est à dire que la "dite cellule" doit faire parti de chacune des 3 plages définies.


Tandis que cette façon de faire

If Intersect(Selection, [lecteurserie1]) Is Nothing Then
If Intersect(Selection, [lecteurserie2]) Is Nothing Then

La "dite cellule" doit faire parti de l'intersection premièrement de Selection, [lecteurserie1] et deuxièmement de
Selection, [lecteurserie2] à tour de rôle, MAIS il c'est loin d'être sûre que la "dite celllule" fasse aussi parti de
l'intersection entre [lecteurserie1] ,[lecteurserie 2] comme le sous-entend ta première façon d'écrire la ligne de
code. De fait, les 2 façons de faire sont très différentes !


Salutations!





"Jacky" a écrit dans le message de news:
Bonjour à tous

Pourquoi ce code ne fonctionne pas ??

If Intersect(Selection, [lecteurserie1], [lecteurserie2]) Is Nothing Then
MsgBox "La cellule que vous avez selectioné" & Chr$(10) & "ne peut
contenir cette information." & Chr$(10) & Chr$(10) & "Recommencez.", 64,
"Information"
End
End If

Alors que comme celui-ci fonctionne...

If Intersect(Selection, [lecteurserie1]) Is Nothing Then
If Intersect(Selection, [lecteurserie2]) Is Nothing Then
MsgBox "La cellule que vous avez selectioné" & Chr$(10) & "ne peut
contenir cette information." & Chr$(10) & Chr$(10) & "Recommencez.", 64,
"Information"
End
End If
End If

En effet quand je rajoute le 3ème argument dans le premier code celui-ci me
retourne une information erronée.

Bonne journée
JJ
Avatar
Jacky
Bonjour Alain

Se sont 2 tableaux de format différent contenant simplement des noms, pas de
formule si ce n'est une mfc.Ils sont placés sur la même feuille et sont
séparés par d'autres cellules, certaines cellules sont fusionnées dans les 2
tableaux.
Cela fonctionne (chez moi et sur des ordinateurs différents que dans le 2ème
code)
Excel 97 sr2 + win nt ou Win 98 ou win xp

Salutations
JJ

"AV" a écrit dans le message de
news:
En effet quand je rajoute le 3ème argument dans le premier code celui-ci
me


retourne une information erronée.


Chez moi ça fonctionne très bien ...
Faudrait voir ce qui se cache derrière les plages [lecteurserie1] et
[lecteurserie2]

AV





Avatar
AV
Se sont 2 tableaux de format différent contenant simplement des noms, pas de
formule si ce n'est une mfc.Ils sont placés sur la même feuille et sont
séparés par d'autres cellules,


Si les 2 tableaux n'ont pas une plage commune, je vois pas comment un "3°
larron" (la sélection) pourrait appartenir aux 2 précédents !
.........ou alors j'ai pas saisi la disposition !

certaines cellules sont fusionnées dans les 2 tableaux.


Ca c'est pas une bonne idée

AV

Avatar
Jacky
Bonjour Denis, re Alain

C'est moi qui me trompe dans l'interprétation du fonctionnement de '
Intersect'
En faite, je cherche à trouver si ma sélection se trouve soit dans le
tableau 'lecteurserie1', soit dans le tableau 'lecteurserie2' , et permettre
l'écriture dans la sélection si tel est le cas.
Pierre m'avait donné une piste avec 'Intersect' , mais je me suis
certainement mal exprimé.
Mais le 2 ème code fait ce que je veux......alors je le garde.
A moins que l'un d'entre vous ne me propose une autre solution.

Salutations
JJ

"Jacky" a écrit dans le message de
news:
Bonjour à tous

Pourquoi ce code ne fonctionne pas ??

If Intersect(Selection, [lecteurserie1], [lecteurserie2]) Is Nothing Then
MsgBox "La cellule que vous avez selectioné" & Chr$(10) & "ne peut
contenir cette information." & Chr$(10) & Chr$(10) & "Recommencez.", 64,
"Information"
End
End If

Alors que comme celui-ci fonctionne...

If Intersect(Selection, [lecteurserie1]) Is Nothing Then
If Intersect(Selection, [lecteurserie2]) Is Nothing Then
MsgBox "La cellule que vous avez selectioné" & Chr$(10) & "ne peut
contenir cette information." & Chr$(10) & Chr$(10) & "Recommencez.", 64,
"Information"
End
End If
End If

En effet quand je rajoute le 3ème argument dans le premier code celui-ci
me

retourne une information erronée.

Bonne journée
JJ




Avatar
AV
Perso, je comprends mieux...

A moins que l'un d'entre vous ne me propose une autre solution.


If Intersect(Selection, [lecteurserie1]) Is Nothing _
And Intersect(Selection, [lecteurserie2]) Is Nothing Then
MsgBox "La cellule que vous avez selectioné" & Chr$(10) _
& "ne peut contenir cette information." & Chr$(10) & Chr$(10) & "Recommencez.",
64, "Information"
End
End If

AV

Avatar
Jacky
Mais oui bien sur........
Quel id... je fais!
Merci Alain

Salutations
JJ

"AV" a écrit dans le message de
news:%23$
Perso, je comprends mieux...

A moins que l'un d'entre vous ne me propose une autre solution.


If Intersect(Selection, [lecteurserie1]) Is Nothing _
And Intersect(Selection, [lecteurserie2]) Is Nothing Then
MsgBox "La cellule que vous avez selectioné" & Chr$(10) _
& "ne peut contenir cette information." & Chr$(10) & Chr$(10) &
"Recommencez.",

64, "Information"
End
End If

AV