gestion du multi-colonnes pour utiliser un userform

Le
zebulion
Bonjour à toutes et tous
Dans une feuille j'ai plusieurs colonnes où je dois saisir des dates.
J'utilise la méthode du calendrier windows de la feuille "
CalendrierMicrosoftTableur1Date"
trouvé dans http://boisgontierjacques.free.fr/
http://boisgontierjacques.free.fr/fichiers/CalendrierTableur.xls

Ca marche super bien lorsque je n'ai qu'une plage de cellules ou appliquer
la baguette magique , un grand merci à JB!!!
Cependant, lorsque je veux appliquer sur plusieurs colonnes, je n'ai droit
qu'à " - " comme séparateur de liste sinon je me fais huer lors de la
compile.
Et lorsque j'utilise ce séparateur, là je me fais insulter pour
"incompatibilité de type"

voici donc ce que j'utilise:

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Not Intersect([m2:m1101], Target) Is Nothing And Target.Count = 1 Then
<= ça marche très bien
' If Not Intersect([m2:m1101] - [p2:p1101], Target) Is Nothing And
Target.Count = 1 Then <= ça marche très mal avec - ou ne veut
rien d'autre que -
If EstOuvertUF("F_calendar") Then Unload F_calendar
F_calendar.Show
End If
End Sub

Function EstOuvertUF(nom)
EstOuvertUF = False
For Each i In UserForms
If UCase(i.Name) = UCase(nom) Then EstOuvertUF = True
Next i
End Function


J'ai peut-être trouvé une piste dans l'aide vba, mais je ne sais pas trop
comme l'adapter (si c'est possible de l'utiliser dans mon cas)
'''=='''
'Dim r1 As Range, r2 As Range, myMultiAreaRange As Range
'Worksheets("sheet1").Activate
'Set r1 = Range("M2:M1101")
'Set r2 = Range("P2:P1101")
'Set myMultiAreaRange = Union(r1, r2)
'myMultiAreaRange.Select
'''=='''


Merci d'avance pour vos idées et votre aide

Cordialement
Philippe
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
JB
Le #19719481
Bonjour,

If Not Intersect(Range("m2:m1101,p2:p1101"), Target) Is Nothing And
Target.Count = 1 Then


JB
On 8 juil, 00:29, "zebulion"
Bonjour à toutes et tous
Dans une feuille j'ai plusieurs colonnes où je dois saisir des dates.
J'utilise la méthode du calendrier windows de la feuille  "
CalendrierMicrosoftTableur1Date"
trouvé danshttp://boisgontierjacques.free.fr/http://boisgontierjacques. free.fr/fichiers/CalendrierTableur.xls

Ca marche super bien lorsque je n'ai qu'une plage de cellules ou applique r
la baguette magique , un grand merci à JB!!!
Cependant, lorsque je veux appliquer sur plusieurs colonnes, je n'ai droi t
qu'à " - " comme séparateur de liste sinon je me fais huer lors de la
compile.
Et lorsque j'utilise ce séparateur, là je me fais insulter pour
"incompatibilité de type"

voici donc ce que j'utilise:

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
   If Not Intersect([m2:m1101], Target) Is Nothing And Target.Count = 1 Then
<========== ça marche très bien
   '  If Not Intersect([m2:m1101] - [p2:p1101], Target) Is Nothing And
Target.Count = 1 Then    <========== ça march e très mal avec - ou ne veut
rien d'autre que -
    If EstOuvertUF("F_calendar") Then Unload F_calendar
    F_calendar.Show
  End If
End Sub

Function EstOuvertUF(nom)
  EstOuvertUF = False
  For Each i In UserForms
    If UCase(i.Name) = UCase(nom) Then EstOuvertUF = True
  Next i
End Function

J'ai peut-être trouvé une piste dans l'aide vba, mais je ne sais pas trop
comme l'adapter (si c'est possible de l'utiliser dans mon cas)
'''======================= ========================= ===================='''
'Dim r1 As Range, r2 As Range, myMultiAreaRange As Range
'Worksheets("sheet1").Activate
'Set r1 = Range("M2:M1101")
'Set r2 = Range("P2:P1101")
'Set myMultiAreaRange = Union(r1, r2)
'myMultiAreaRange.Select
'''======================= ========================= ===================='''

Merci d'avance pour vos idées et votre aide

Cordialement
Philippe


zebulion
Le #19724091
Bonjour,
Super! Ca marche "comme dans mes rêves"
Merci
Au plaisir
Cordialement,
Philippe

"JB" news:
Bonjour,

If Not Intersect(Range("m2:m1101,p2:p1101"), Target) Is Nothing And
Target.Count = 1 Then


JB
On 8 juil, 00:29, "zebulion"
Bonjour à toutes et tous
Dans une feuille j'ai plusieurs colonnes où je dois saisir des dates.
J'utilise la méthode du calendrier windows de la feuille "
CalendrierMicrosoftTableur1Date"
trouvé
danshttp://boisgontierjacques.free.fr/http://boisgontierjacques.free.fr/fichiers/CalendrierTableur.xls

Ca marche super bien lorsque je n'ai qu'une plage de cellules ou appliquer
la baguette magique , un grand merci à JB!!!
Cependant, lorsque je veux appliquer sur plusieurs colonnes, je n'ai droit
qu'à " - " comme séparateur de liste sinon je me fais huer lors de la
compile.
Et lorsque j'utilise ce séparateur, là je me fais insulter pour
"incompatibilité de type"

voici donc ce que j'utilise:

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Not Intersect([m2:m1101], Target) Is Nothing And Target.Count = 1 Then
<========== ça marche très bien
' If Not Intersect([m2:m1101] - [p2:p1101], Target) Is Nothing And
Target.Count = 1 Then <========== ça marche très mal avec - ou ne veut
rien d'autre que -
If EstOuvertUF("F_calendar") Then Unload F_calendar
F_calendar.Show
End If
End Sub

Function EstOuvertUF(nom)
EstOuvertUF = False
For Each i In UserForms
If UCase(i.Name) = UCase(nom) Then EstOuvertUF = True
Next i
End Function

J'ai peut-être trouvé une piste dans l'aide vba, mais je ne sais pas trop
comme l'adapter (si c'est possible de l'utiliser dans mon cas)
'''===================================================================='''
'Dim r1 As Range, r2 As Range, myMultiAreaRange As Range
'Worksheets("sheet1").Activate
'Set r1 = Range("M2:M1101")
'Set r2 = Range("P2:P1101")
'Set myMultiAreaRange = Union(r1, r2)
'myMultiAreaRange.Select
'''===================================================================='''

Merci d'avance pour vos idées et votre aide

Cordialement
Philippe


zebulion
Le #19725501
Re bonjour bonsoir

En fait, j'ai quand même un petit pb: je contrôle la date saisie par une
validation date: si < à la date de B3 je bloque en signalant qu'on ne peut
être remboursé avant d'avoir dépensé (cas d'une consultation médicale:
difficile d'êtrer remboursé par la Sécu avant d'avoir consulté...)
L'utilisation de F_calendar force la valeur sans passer par la case
validation.
Par contre, si j'efface le contenu généré et que je saisie directement, la
validation s'effectue normalement.
Y-a-t-il moyen d'activer la validation dans le cas d'utilisation de
F_calendar?
Merci d'avance
Cordialement
Philippe


"zebulion" news:uaR8TJ$$
Bonjour,
Super! Ca marche "comme dans mes rêves"
Merci
Au plaisir
Cordialement,
Philippe

"JB" news:
Bonjour,

If Not Intersect(Range("m2:m1101,p2:p1101"), Target) Is Nothing And
Target.Count = 1 Then


JB
On 8 juil, 00:29, "zebulion"
Bonjour à toutes et tous
Dans une feuille j'ai plusieurs colonnes où je dois saisir des dates.
J'utilise la méthode du calendrier windows de la feuille "
CalendrierMicrosoftTableur1Date"
trouvé
danshttp://boisgontierjacques.free.fr/http://boisgontierjacques.free.fr/fichiers/CalendrierTableur.xls

Ca marche super bien lorsque je n'ai qu'une plage de cellules ou
appliquer
la baguette magique , un grand merci à JB!!!
Cependant, lorsque je veux appliquer sur plusieurs colonnes, je n'ai
droit
qu'à " - " comme séparateur de liste sinon je me fais huer lors de la
compile.
Et lorsque j'utilise ce séparateur, là je me fais insulter pour
"incompatibilité de type"

voici donc ce que j'utilise:

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Not Intersect([m2:m1101], Target) Is Nothing And Target.Count = 1 Then
<========== ça marche très bien
' If Not Intersect([m2:m1101] - [p2:p1101], Target) Is Nothing And
Target.Count = 1 Then <========== ça marche très mal avec - ou ne veut
rien d'autre que -
If EstOuvertUF("F_calendar") Then Unload F_calendar
F_calendar.Show
End If
End Sub

Function EstOuvertUF(nom)
EstOuvertUF = False
For Each i In UserForms
If UCase(i.Name) = UCase(nom) Then EstOuvertUF = True
Next i
End Function

J'ai peut-être trouvé une piste dans l'aide vba, mais je ne sais pas trop
comme l'adapter (si c'est possible de l'utiliser dans mon cas)
'''===================================================================='''
'Dim r1 As Range, r2 As Range, myMultiAreaRange As Range
'Worksheets("sheet1").Activate
'Set r1 = Range("M2:M1101")
'Set r2 = Range("P2:P1101")
'Set myMultiAreaRange = Union(r1, r2)
'myMultiAreaRange.Select
'''===================================================================='''

Merci d'avance pour vos idées et votre aide

Cordialement
Philippe





Publicité
Poster une réponse
Anonyme