Je passe mes ébauches de solutions et vous expose plutôt mon besoin :
J'ai une feuille avec un Tableau Croisé Dynamique.
Je souhaite que l'utilisateur puisse utiliser le double click sur un chiffre
du tableau qui affiche le détail de ce chiffre.
Je ne veux cependant pas qu'il puisse double cliquer ailleurs que sur un
chiffre du tableau (hors tableau, en-tête de colonne ou de ligne).
Je vous remercie d'enlever ce caillou de ma chaussure.
--
René Delcourt
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
Bonsoir. Je suis loin d'être un pro en TCD+VBA. Essaie néanmoins le code suivant en adaptant le nom du TCD.
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean) Dim Plage As Range, NomFeuil As String, NouvFeuil As String ActiveSheet.Unprotect NomFeuil = ActiveSheet.Name ActiveSheet.PivotTables("Tableau croisé dynamique2").PivotSelect "", _ xlDataOnly, True Set Plage = Selection If Intersect(Plage, Target) Is Nothing Then Exit Sub Target.ShowDetail = True NouvFeuil = ActiveSheet.Name Sheets(NomFeuil).Select ActiveSheet.Protect Sheets(NouvFeuil).Select End Sub
et en mettant un mot de passe. Cordialement. Daniel "René Delcourt" a écrit dans le message de news:
Bonjour à tous et excellente année 2006,
Je passe mes ébauches de solutions et vous expose plutôt mon besoin : J'ai une feuille avec un Tableau Croisé Dynamique. Je souhaite que l'utilisateur puisse utiliser le double click sur un chiffre du tableau qui affiche le détail de ce chiffre. Je ne veux cependant pas qu'il puisse double cliquer ailleurs que sur un chiffre du tableau (hors tableau, en-tête de colonne ou de ligne). Je vous remercie d'enlever ce caillou de ma chaussure. -- René Delcourt
Bonsoir.
Je suis loin d'être un pro en TCD+VBA. Essaie néanmoins le code suivant en
adaptant le nom du TCD.
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As
Boolean)
Dim Plage As Range, NomFeuil As String, NouvFeuil As String
ActiveSheet.Unprotect
NomFeuil = ActiveSheet.Name
ActiveSheet.PivotTables("Tableau croisé dynamique2").PivotSelect "", _
xlDataOnly, True
Set Plage = Selection
If Intersect(Plage, Target) Is Nothing Then Exit Sub
Target.ShowDetail = True
NouvFeuil = ActiveSheet.Name
Sheets(NomFeuil).Select
ActiveSheet.Protect
Sheets(NouvFeuil).Select
End Sub
et en mettant un mot de passe.
Cordialement.
Daniel
"René Delcourt" <rde@intras.ch> a écrit dans le message de news:
EB0CD46D-BC19-4DCD-8FF8-5CF2FE10F7A4@microsoft.com...
Bonjour à tous et excellente année 2006,
Je passe mes ébauches de solutions et vous expose plutôt mon besoin :
J'ai une feuille avec un Tableau Croisé Dynamique.
Je souhaite que l'utilisateur puisse utiliser le double click sur un
chiffre
du tableau qui affiche le détail de ce chiffre.
Je ne veux cependant pas qu'il puisse double cliquer ailleurs que sur un
chiffre du tableau (hors tableau, en-tête de colonne ou de ligne).
Je vous remercie d'enlever ce caillou de ma chaussure.
--
René Delcourt
Bonsoir. Je suis loin d'être un pro en TCD+VBA. Essaie néanmoins le code suivant en adaptant le nom du TCD.
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean) Dim Plage As Range, NomFeuil As String, NouvFeuil As String ActiveSheet.Unprotect NomFeuil = ActiveSheet.Name ActiveSheet.PivotTables("Tableau croisé dynamique2").PivotSelect "", _ xlDataOnly, True Set Plage = Selection If Intersect(Plage, Target) Is Nothing Then Exit Sub Target.ShowDetail = True NouvFeuil = ActiveSheet.Name Sheets(NomFeuil).Select ActiveSheet.Protect Sheets(NouvFeuil).Select End Sub
et en mettant un mot de passe. Cordialement. Daniel "René Delcourt" a écrit dans le message de news:
Bonjour à tous et excellente année 2006,
Je passe mes ébauches de solutions et vous expose plutôt mon besoin : J'ai une feuille avec un Tableau Croisé Dynamique. Je souhaite que l'utilisateur puisse utiliser le double click sur un chiffre du tableau qui affiche le détail de ce chiffre. Je ne veux cependant pas qu'il puisse double cliquer ailleurs que sur un chiffre du tableau (hors tableau, en-tête de colonne ou de ligne). Je vous remercie d'enlever ce caillou de ma chaussure. -- René Delcourt
anonymousA
Bonjour
en supposant que sur la feuille ce soit le TCD N°1 l'instruction suivante te donnera l'addresse de la plage de données en cours. Ensuite, rien de plus facile que de controler sur une procédure evenementielle doubleclick si target a une intersection avec la plage en question
ActiveSheet.PivotTables(1).DataBodyRange.Address
A+
Bonjour à tous et excellente année 2006,
Je passe mes ébauches de solutions et vous expose plutôt mon besoin : J'ai une feuille avec un Tableau Croisé Dynamique. Je souhaite que l'utilisateur puisse utiliser le double click sur un chiffre du tableau qui affiche le détail de ce chiffre. Je ne veux cependant pas qu'il puisse double cliquer ailleurs que sur un chiffre du tableau (hors tableau, en-tête de colonne ou de ligne). Je vous remercie d'enlever ce caillou de ma chaussure.
Bonjour
en supposant que sur la feuille ce soit le TCD N°1
l'instruction suivante te donnera l'addresse de la plage de données en
cours.
Ensuite, rien de plus facile que de controler sur une procédure
evenementielle doubleclick si target a une intersection avec la plage en
question
ActiveSheet.PivotTables(1).DataBodyRange.Address
A+
Bonjour à tous et excellente année 2006,
Je passe mes ébauches de solutions et vous expose plutôt mon besoin :
J'ai une feuille avec un Tableau Croisé Dynamique.
Je souhaite que l'utilisateur puisse utiliser le double click sur un chiffre
du tableau qui affiche le détail de ce chiffre.
Je ne veux cependant pas qu'il puisse double cliquer ailleurs que sur un
chiffre du tableau (hors tableau, en-tête de colonne ou de ligne).
Je vous remercie d'enlever ce caillou de ma chaussure.
en supposant que sur la feuille ce soit le TCD N°1 l'instruction suivante te donnera l'addresse de la plage de données en cours. Ensuite, rien de plus facile que de controler sur une procédure evenementielle doubleclick si target a une intersection avec la plage en question
ActiveSheet.PivotTables(1).DataBodyRange.Address
A+
Bonjour à tous et excellente année 2006,
Je passe mes ébauches de solutions et vous expose plutôt mon besoin : J'ai une feuille avec un Tableau Croisé Dynamique. Je souhaite que l'utilisateur puisse utiliser le double click sur un chiffre du tableau qui affiche le détail de ce chiffre. Je ne veux cependant pas qu'il puisse double cliquer ailleurs que sur un chiffre du tableau (hors tableau, en-tête de colonne ou de ligne). Je vous remercie d'enlever ce caillou de ma chaussure.
René Delcourt
Bonjour Anonymous, Je m'y perds un peu avec les procédures événementielles qui utilisent "Target", intersect et autres... Voudrais-tu être plus explicite et, en bonus, m'indiquer une référence pour que je sois plus au clair avec la chose. Excellent 2006! -- René Delcourt
Bonjour
en supposant que sur la feuille ce soit le TCD N°1 l'instruction suivante te donnera l'addresse de la plage de données en cours. Ensuite, rien de plus facile que de controler sur une procédure evenementielle doubleclick si target a une intersection avec la plage en question
ActiveSheet.PivotTables(1).DataBodyRange.Address
A+
Bonjour à tous et excellente année 2006,
Je passe mes ébauches de solutions et vous expose plutôt mon besoin : J'ai une feuille avec un Tableau Croisé Dynamique. Je souhaite que l'utilisateur puisse utiliser le double click sur un chiffre du tableau qui affiche le détail de ce chiffre. Je ne veux cependant pas qu'il puisse double cliquer ailleurs que sur un chiffre du tableau (hors tableau, en-tête de colonne ou de ligne). Je vous remercie d'enlever ce caillou de ma chaussure.
Bonjour Anonymous,
Je m'y perds un peu avec les procédures événementielles qui utilisent
"Target", intersect et autres...
Voudrais-tu être plus explicite et, en bonus, m'indiquer une référence pour
que je sois plus au clair avec la chose.
Excellent 2006!
--
René Delcourt
Bonjour
en supposant que sur la feuille ce soit le TCD N°1
l'instruction suivante te donnera l'addresse de la plage de données en
cours.
Ensuite, rien de plus facile que de controler sur une procédure
evenementielle doubleclick si target a une intersection avec la plage en
question
ActiveSheet.PivotTables(1).DataBodyRange.Address
A+
Bonjour à tous et excellente année 2006,
Je passe mes ébauches de solutions et vous expose plutôt mon besoin :
J'ai une feuille avec un Tableau Croisé Dynamique.
Je souhaite que l'utilisateur puisse utiliser le double click sur un chiffre
du tableau qui affiche le détail de ce chiffre.
Je ne veux cependant pas qu'il puisse double cliquer ailleurs que sur un
chiffre du tableau (hors tableau, en-tête de colonne ou de ligne).
Je vous remercie d'enlever ce caillou de ma chaussure.
Bonjour Anonymous, Je m'y perds un peu avec les procédures événementielles qui utilisent "Target", intersect et autres... Voudrais-tu être plus explicite et, en bonus, m'indiquer une référence pour que je sois plus au clair avec la chose. Excellent 2006! -- René Delcourt
Bonjour
en supposant que sur la feuille ce soit le TCD N°1 l'instruction suivante te donnera l'addresse de la plage de données en cours. Ensuite, rien de plus facile que de controler sur une procédure evenementielle doubleclick si target a une intersection avec la plage en question
ActiveSheet.PivotTables(1).DataBodyRange.Address
A+
Bonjour à tous et excellente année 2006,
Je passe mes ébauches de solutions et vous expose plutôt mon besoin : J'ai une feuille avec un Tableau Croisé Dynamique. Je souhaite que l'utilisateur puisse utiliser le double click sur un chiffre du tableau qui affiche le détail de ce chiffre. Je ne veux cependant pas qu'il puisse double cliquer ailleurs que sur un chiffre du tableau (hors tableau, en-tête de colonne ou de ligne). Je vous remercie d'enlever ce caillou de ma chaussure.
anonymousA
Bonjour,
Dans ce qui suit, je t'ai volontairement laissé MsgBox .Parent.PivotTables(1).DataBodyRange.Address pour te permettre de visualiser l'adresse des données, mais ce n'est evidemment que pédagogique et pas du tout essentiel pour ce que tu souhaites faire .
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
With Target If Not Intersect(.Item(1), .Parent.PivotTables(1).DataBodyRange) Is Nothing Then MsgBox .Parent.PivotTables(1).DataBodyRange.Address .ShowDetail = True End If End With
Cancel = True
End Sub
Ici, Target représente le range sur lequel a été exercée l'action du Doubleclick. Intersect est une méthode renvoyant un objet range qui représente l'intersection entre des plages de cellules (jusqu'à 30 plages possibles, dans notre cas, seulement 2 plages). Si Intersect renvoie une plage alors Not Intersect renvoie nothing puisque le complémentaire booléen d'un objet existant est "rien" donc nothing. En conséquence, on teste si Not intersect entre la cellule doublecliquée et la plage de cellules que l'on a choisi comme plage de référence ( ici la plage que tu souhaites c.à.d Target.Parent.PivotTables(1).DataBodyRange puisque target.parent renvoie à la feuille qui abrite Target ) renvoie nothing . Si c'est le cas, alors celà veut dire que l'utilisateur a cliqué sur une cellule de la plage de cellules de référence. Auquel cas, on engage une action, sinon on ne fait rien. Tu souhaitais avoir le détail des éléments constitutifs de la cellule double cliquée des données d'un TCD, donc on envoie la méthode showdetail de l'objet range , ici en l'occurrence Target.
Voilà. Je ne sais pas si j'ai été clair. Quant à te renvoyer vers une référence à Intersect ou aux procédures evenementielles, le mieux et le plus facile c'est de compulser l'aide d'Excel et ensuite de se faire des exemples pour vérifier que l'on a bien compris comment tout ça ca fonctionne.
A+
Bonjour,
Dans ce qui suit, je t'ai volontairement laissé MsgBox
.Parent.PivotTables(1).DataBodyRange.Address pour te permettre de
visualiser l'adresse des données, mais ce n'est evidemment que
pédagogique et pas du tout essentiel pour ce que tu souhaites faire .
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel
As Boolean)
With Target
If Not Intersect(.Item(1), .Parent.PivotTables(1).DataBodyRange) Is
Nothing Then
MsgBox .Parent.PivotTables(1).DataBodyRange.Address
.ShowDetail = True
End If
End With
Cancel = True
End Sub
Ici, Target représente le range sur lequel a été exercée l'action
du Doubleclick. Intersect est une méthode renvoyant un objet range qui
représente l'intersection entre des plages de cellules (jusqu'à 30
plages possibles, dans notre cas, seulement 2 plages).
Si Intersect renvoie une plage alors Not Intersect renvoie nothing
puisque le complémentaire booléen d'un objet existant est "rien" donc
nothing. En conséquence, on teste si Not intersect entre la cellule
doublecliquée et la plage de cellules que l'on a choisi comme plage de
référence ( ici la plage que tu souhaites c.à.d
Target.Parent.PivotTables(1).DataBodyRange puisque target.parent
renvoie à la feuille qui abrite Target ) renvoie nothing . Si c'est le
cas, alors celà veut dire que l'utilisateur a cliqué sur une cellule
de la plage de cellules de référence. Auquel cas, on engage une
action, sinon on ne fait rien. Tu souhaitais avoir le détail des
éléments constitutifs de la cellule double cliquée des données d'un
TCD, donc on envoie la méthode showdetail de l'objet range , ici en
l'occurrence Target.
Voilà. Je ne sais pas si j'ai été clair. Quant à te renvoyer vers
une référence à Intersect ou aux procédures evenementielles, le
mieux et le plus facile c'est de compulser l'aide d'Excel et ensuite de
se faire des exemples pour vérifier que l'on a bien compris comment
tout ça ca fonctionne.
Dans ce qui suit, je t'ai volontairement laissé MsgBox .Parent.PivotTables(1).DataBodyRange.Address pour te permettre de visualiser l'adresse des données, mais ce n'est evidemment que pédagogique et pas du tout essentiel pour ce que tu souhaites faire .
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
With Target If Not Intersect(.Item(1), .Parent.PivotTables(1).DataBodyRange) Is Nothing Then MsgBox .Parent.PivotTables(1).DataBodyRange.Address .ShowDetail = True End If End With
Cancel = True
End Sub
Ici, Target représente le range sur lequel a été exercée l'action du Doubleclick. Intersect est une méthode renvoyant un objet range qui représente l'intersection entre des plages de cellules (jusqu'à 30 plages possibles, dans notre cas, seulement 2 plages). Si Intersect renvoie une plage alors Not Intersect renvoie nothing puisque le complémentaire booléen d'un objet existant est "rien" donc nothing. En conséquence, on teste si Not intersect entre la cellule doublecliquée et la plage de cellules que l'on a choisi comme plage de référence ( ici la plage que tu souhaites c.à.d Target.Parent.PivotTables(1).DataBodyRange puisque target.parent renvoie à la feuille qui abrite Target ) renvoie nothing . Si c'est le cas, alors celà veut dire que l'utilisateur a cliqué sur une cellule de la plage de cellules de référence. Auquel cas, on engage une action, sinon on ne fait rien. Tu souhaitais avoir le détail des éléments constitutifs de la cellule double cliquée des données d'un TCD, donc on envoie la méthode showdetail de l'objet range , ici en l'occurrence Target.
Voilà. Je ne sais pas si j'ai été clair. Quant à te renvoyer vers une référence à Intersect ou aux procédures evenementielles, le mieux et le plus facile c'est de compulser l'aide d'Excel et ensuite de se faire des exemples pour vérifier que l'on a bien compris comment tout ça ca fonctionne.
A+
René Delcourt
Je te remercie infiniment pour ces éclaircissements et conseils. -- René Delcourt
Bonjour,
Dans ce qui suit, je t'ai volontairement laissé MsgBox ..Parent.PivotTables(1).DataBodyRange.Address pour te permettre de visualiser l'adresse des données, mais ce n'est evidemment que pédagogique et pas du tout essentiel pour ce que tu souhaites faire .
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
With Target If Not Intersect(.Item(1), .Parent.PivotTables(1).DataBodyRange) Is Nothing Then MsgBox .Parent.PivotTables(1).DataBodyRange.Address .ShowDetail = True End If End With
Cancel = True
End Sub
Ici, Target représente le range sur lequel a été exercée l'action du Doubleclick. Intersect est une méthode renvoyant un objet range qui représente l'intersection entre des plages de cellules (jusqu'à 30 plages possibles, dans notre cas, seulement 2 plages). Si Intersect renvoie une plage alors Not Intersect renvoie nothing puisque le complémentaire booléen d'un objet existant est "rien" donc nothing. En conséquence, on teste si Not intersect entre la cellule doublecliquée et la plage de cellules que l'on a choisi comme plage de référence ( ici la plage que tu souhaites c.à.d Target.Parent.PivotTables(1).DataBodyRange puisque target.parent renvoie à la feuille qui abrite Target ) renvoie nothing . Si c'est le cas, alors celà veut dire que l'utilisateur a cliqué sur une cellule de la plage de cellules de référence. Auquel cas, on engage une action, sinon on ne fait rien. Tu souhaitais avoir le détail des éléments constitutifs de la cellule double cliquée des données d'un TCD, donc on envoie la méthode showdetail de l'objet range , ici en l'occurrence Target.
Voilà. Je ne sais pas si j'ai été clair. Quant à te renvoyer vers une référence à Intersect ou aux procédures evenementielles, le mieux et le plus facile c'est de compulser l'aide d'Excel et ensuite de se faire des exemples pour vérifier que l'on a bien compris comment tout ça ca fonctionne.
A+
Je te remercie infiniment pour ces éclaircissements et conseils.
--
René Delcourt
Bonjour,
Dans ce qui suit, je t'ai volontairement laissé MsgBox
..Parent.PivotTables(1).DataBodyRange.Address pour te permettre de
visualiser l'adresse des données, mais ce n'est evidemment que
pédagogique et pas du tout essentiel pour ce que tu souhaites faire .
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel
As Boolean)
With Target
If Not Intersect(.Item(1), .Parent.PivotTables(1).DataBodyRange) Is
Nothing Then
MsgBox .Parent.PivotTables(1).DataBodyRange.Address
.ShowDetail = True
End If
End With
Cancel = True
End Sub
Ici, Target représente le range sur lequel a été exercée l'action
du Doubleclick. Intersect est une méthode renvoyant un objet range qui
représente l'intersection entre des plages de cellules (jusqu'à 30
plages possibles, dans notre cas, seulement 2 plages).
Si Intersect renvoie une plage alors Not Intersect renvoie nothing
puisque le complémentaire booléen d'un objet existant est "rien" donc
nothing. En conséquence, on teste si Not intersect entre la cellule
doublecliquée et la plage de cellules que l'on a choisi comme plage de
référence ( ici la plage que tu souhaites c.à.d
Target.Parent.PivotTables(1).DataBodyRange puisque target.parent
renvoie à la feuille qui abrite Target ) renvoie nothing . Si c'est le
cas, alors celà veut dire que l'utilisateur a cliqué sur une cellule
de la plage de cellules de référence. Auquel cas, on engage une
action, sinon on ne fait rien. Tu souhaitais avoir le détail des
éléments constitutifs de la cellule double cliquée des données d'un
TCD, donc on envoie la méthode showdetail de l'objet range , ici en
l'occurrence Target.
Voilà. Je ne sais pas si j'ai été clair. Quant à te renvoyer vers
une référence à Intersect ou aux procédures evenementielles, le
mieux et le plus facile c'est de compulser l'aide d'Excel et ensuite de
se faire des exemples pour vérifier que l'on a bien compris comment
tout ça ca fonctionne.
Je te remercie infiniment pour ces éclaircissements et conseils. -- René Delcourt
Bonjour,
Dans ce qui suit, je t'ai volontairement laissé MsgBox ..Parent.PivotTables(1).DataBodyRange.Address pour te permettre de visualiser l'adresse des données, mais ce n'est evidemment que pédagogique et pas du tout essentiel pour ce que tu souhaites faire .
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
With Target If Not Intersect(.Item(1), .Parent.PivotTables(1).DataBodyRange) Is Nothing Then MsgBox .Parent.PivotTables(1).DataBodyRange.Address .ShowDetail = True End If End With
Cancel = True
End Sub
Ici, Target représente le range sur lequel a été exercée l'action du Doubleclick. Intersect est une méthode renvoyant un objet range qui représente l'intersection entre des plages de cellules (jusqu'à 30 plages possibles, dans notre cas, seulement 2 plages). Si Intersect renvoie une plage alors Not Intersect renvoie nothing puisque le complémentaire booléen d'un objet existant est "rien" donc nothing. En conséquence, on teste si Not intersect entre la cellule doublecliquée et la plage de cellules que l'on a choisi comme plage de référence ( ici la plage que tu souhaites c.à.d Target.Parent.PivotTables(1).DataBodyRange puisque target.parent renvoie à la feuille qui abrite Target ) renvoie nothing . Si c'est le cas, alors celà veut dire que l'utilisateur a cliqué sur une cellule de la plage de cellules de référence. Auquel cas, on engage une action, sinon on ne fait rien. Tu souhaitais avoir le détail des éléments constitutifs de la cellule double cliquée des données d'un TCD, donc on envoie la méthode showdetail de l'objet range , ici en l'occurrence Target.
Voilà. Je ne sais pas si j'ai été clair. Quant à te renvoyer vers une référence à Intersect ou aux procédures evenementielles, le mieux et le plus facile c'est de compulser l'aide d'Excel et ensuite de se faire des exemples pour vérifier que l'on a bien compris comment tout ça ca fonctionne.
A+
anonymousA
Bonjour, René
j'en profite pour préciser ce que j'ai dit car je devais avoir l'esprit embrumé. En réalité , "Si Intersect renvoie une plage alors Not Intersect renvoie nothing puisque le complémentaire booléen d'un objet existant est "rien" donc nothing" est une hérésie. Ce qui se passe réellement c'est que si rangeA et rangeB n'ont pas d'intersection alors Intersect(rangeA,rangeB) renvoie nothing, donc tester Intersect(rangeA,rangeB) is nothing revient à tester si on a une égalité booléenne entre Intersect(rangeA,rangeB) et nothing . Donc si c'est vrai , alors Not Vrai égale Faux . Si le résultat de Not Intersect(rangeA,rangeB) is nothing est faux alors on ne fait rien.
Par contre si il y a une intersection entre rangeA et rangeB alors le résultat de l'égalité booléenne entre Intersect(rangeA,rangeB) et nothing renvoie Faux ( puisqu'il n'y a pas rien comme intersection) donc Not Faux étant égal à Vrai alors, on agit.
Voilà.Cette fois-ci, c'est juste.
Cordialement
Je te remercie infiniment pour ces éclaircissements et conseils.
Bonjour, René
j'en profite pour préciser ce que j'ai dit car je devais avoir l'esprit
embrumé.
En réalité , "Si Intersect renvoie une plage alors Not Intersect renvoie
nothing puisque le complémentaire booléen d'un objet existant est "rien"
donc nothing" est une hérésie.
Ce qui se passe réellement c'est que si rangeA et rangeB n'ont pas
d'intersection alors Intersect(rangeA,rangeB) renvoie nothing, donc
tester Intersect(rangeA,rangeB) is nothing revient à tester si on a une
égalité booléenne entre Intersect(rangeA,rangeB) et nothing . Donc si
c'est vrai , alors Not Vrai égale Faux .
Si le résultat de Not Intersect(rangeA,rangeB) is nothing est faux alors
on ne fait rien.
Par contre si il y a une intersection entre rangeA et rangeB alors le
résultat de l'égalité booléenne entre Intersect(rangeA,rangeB) et
nothing renvoie Faux ( puisqu'il n'y a pas rien comme intersection) donc
Not Faux étant égal à Vrai alors, on agit.
Voilà.Cette fois-ci, c'est juste.
Cordialement
Je te remercie infiniment pour ces éclaircissements et conseils.
j'en profite pour préciser ce que j'ai dit car je devais avoir l'esprit embrumé. En réalité , "Si Intersect renvoie une plage alors Not Intersect renvoie nothing puisque le complémentaire booléen d'un objet existant est "rien" donc nothing" est une hérésie. Ce qui se passe réellement c'est que si rangeA et rangeB n'ont pas d'intersection alors Intersect(rangeA,rangeB) renvoie nothing, donc tester Intersect(rangeA,rangeB) is nothing revient à tester si on a une égalité booléenne entre Intersect(rangeA,rangeB) et nothing . Donc si c'est vrai , alors Not Vrai égale Faux . Si le résultat de Not Intersect(rangeA,rangeB) is nothing est faux alors on ne fait rien.
Par contre si il y a une intersection entre rangeA et rangeB alors le résultat de l'égalité booléenne entre Intersect(rangeA,rangeB) et nothing renvoie Faux ( puisqu'il n'y a pas rien comme intersection) donc Not Faux étant égal à Vrai alors, on agit.
Voilà.Cette fois-ci, c'est juste.
Cordialement
Je te remercie infiniment pour ces éclaircissements et conseils.