intersect

P

pat5

Guest
Bonsoir tout le monde

Je suis bloqué sur la sélection de la plage entre les 2 cellules d'intersection

Jusqu'à " Dim Intersection1 As Range " tout va bien mais après je bloque

Si vous pouviez m'aider ??? Grand merçi

Ma macro :


Sub IntersectionDebutJour()
'
'

Dim Parametre As Range
Dim monOption As Range
Dim PremierJour As Range
Dim DernierJour As Range

Dim Jour1 As Date
Dim Jour2 As Date

' Les variables " Jour " genre 01/01/04
Jour1 = Range("AC1").Value
Jour2 = Range("AC3").Value

' Recherche du premier jour
Set PremierJour = Columns(31).Find(What:=Jour1, _
After:=Range("AE1"), _
LookIn:=xlFormulas, _
LookAt:=xlWhole, _
SearchOrder:=xlByRows, _
SearchDirection:=xlNext, _
MatchCase:=False, _
SearchFormat:=False)

' Recherche du deuxième jour
Set DernierJour = Columns(31).Find(What:=Jour2, _
After:=Range("AE1"), _
LookIn:=xlFormulas, _
LookAt:=xlWhole, _
SearchOrder:=xlByRows, _
SearchDirection:=xlNext, _
MatchCase:=False, _
SearchFormat:=False)

' Recherche du paramètre
Dim maRecherche As Range
Set maRecherche = Columns("AE:BH")
Set monOption = Range("A43")

' Recherche du paramètre
Set Parametre = maRecherche.Find(What:=monOption, _
After:=Range("AE1"), _
LookIn:=xlFormulas, _
LookAt:=xlWhole, _
SearchOrder:=xlByRows, _
SearchDirection:=xlNext, _
MatchCase:=False, _
SearchFormat:=False)

Dim Intersection1 As IRange
Dim Intersection2 As Range


Set Intersection1 = Range((Intersect((PremierJour), (Parametre))), ((Intersect((DernierJour), (Parametre)))))

'Set Intersection1 = Intersect(Range(PremierJour), Range(Parametre))

Set Intersection2 = Range((Intersect((DernierJour), (Parametre))))

Range(Intersection1, Intersection2(23)).Select


End Sub
 
M

michel

Guest
bonjour Pat5 , bonjour Michel

je vais sans doute dire une bétise , mais dan ta procedure il y a un I avant range : Dim Intersection1 As IRange


bonne soirée
michel
lapin4.gif
 
P

pat5

Guest
Re bonsoir MIchel

Non, c'est juste qu'avec tous les essais que j'ai fait entre les apostrophes et le reste, j'ai oublié de l'effacer quand j'ai copié coller mais tout est OK sauf que je suis encore et toujours bloqué au même endroit.
Pourtant ça me parait simple mais ?????

Encore merçi de t'interesser à mon cas. J'y retourne

Salut ;o) et bonne soirée.
Peut-être A+

Pat5
 
@

@+Thierry

Guest
Bonjour Pat5, Les Michels !, le Forum

Je n'ai pas reconstruit ton programme Pat, mais j'ai révisé l'Intersect dans l'Aide VBA ce qui donnerait pour un exemple simple tiré de l'aide :

Sub Test1()
Dim Isect As Range

Worksheets("Feuil1").Activate
Set Isect = Application.Intersect(Range("A1:D10"), Range("B1:B10"))
If Isect Is Nothing Then
MsgBox "Ranges do not intersect"
Else
Isect.Select
End If

End Sub


A partir de là, je pars sur une adaptation de ton programme :

Sub Test2()
Dim InterSect1 As Range
Dim InterSect2 As Range
Dim PremierJour As Range
Dim DernierJour As Range
Dim Parametre As Range

Set Parametre = Range("A1:Z15") 'pour initialiser tes Objets Ranges
Set PremierJour = Range("B5:B5")
Set DernierJour = Range("E6:E6")

Set InterSect1 = Application.Intersect(PremierJour, Parametre)
Set InterSect2 = Application.Intersect(DernierJour, Parametre)

If InterSect1 Is Nothing Or InterSect2 Is Nothing Then
MsgBox "Ranges do not intersect"
Else
Range(InterSect1, InterSect2).Select
End If

End Sub

Jusque là çà fonctionne et çà te servira pour la syntax, maintenant reste à toi d'adapter...

Bon Courage à toi et bonne journée à tous
@+Thierry
 
P

pat5

Guest
Bonsoir le forum

Excuse moi Thierry mais je viens juste de m'apercevoir que tu m'avais répondu et que je ne t'ai point remercier quand je t'ai eu tout à l'heure

C'est exactement ce que je cherchais.

Grand merçi de t'en être occuper car j'étais parti dans des délires impensable alors que c'est si simple ( quand on connait la solution )

Encore merçi et bonne soirée

Salut ;o)

Pat5
 

Discussions similaires

Réponses
1
Affichages
183
Réponses
2
Affichages
286

Statistiques des forums

Discussions
314 162
Messages
2 106 604
Membres
109 639
dernier inscrit
Phil1860