Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

aide VBA noctambule

meldja

XLDnaute Impliqué
Bonsoir,
Ici, la nuit tombe tôt, et vu qu'il y a un décalage d'une heure (je crois) et qu'on est du côté du soleil levant, il doit être plus tard en France.
Donc, pour les noctambules, voici mon pbme :

Tout fier de moi, tout seul comme un grand débutant VBA, j'ai conçu 2 macros (à l'aide de l'enregistreur... ) ;
la première pour afficher toutes les lignes (parce qu'au début, j'avais mis un filtre automatique dans une colonne),
la seconde pour trier les lignes correpondant à la cellule active.

Voici les deux codes qui marchent nickel :

Private Sub CommandButton2_Click()
Selection.AutoFilter Field:=1
Range("F1").Select
End Sub

Private Sub CommandButton3_Click()
Selection.AutoFilter Field:=1, Criteria1:=ActiveCell.Value
End Sub

Jusque là, tout va bien. Mon pbme est que j'aimerais un message d'erreur si la cellule active ne se situe pas dans la plage des noms à trier (E3:E50).
J'ai essayé :
If ActiveCell <> Range("E3:E50") Then

mais j'ai direct un message d'erreur quand je fais "Entrée".
J'en conclue que cette syntaxe n'est pas bonne, donc, si un nocturne a une idée, je le remercie d'avance.
 
G

Guest

Guest
Re : aide VBA noctambule

Bonjour MelDja de Sada

Voici de l'ouest où il fait encore jour,

Code:
If Union(ActiveCell, Range("E3:E50") ).address<>Range("E3:E50").Address then
 
MsgBox "Pas dans la bonne cellule, Allez vous coucher et revennez demain"
 
End if

union(range("E3:E50"),Activecell).Areas.Count>0

bonnes soirée
 
Dernière modification par un modérateur:

tototiti2008

XLDnaute Barbatruc
Re : aide VBA noctambule

Bonjour meldja,

en france, il fait encore un peu jour
essaye de remplacer :

If ActiveCell <> Range("E3:E50") Then

par

If Application.Intersect(ActiveCell, Range("E3:E50")) is nothing Then

à noter : si ta liste peut s'agrandir au-delà de la ligne 50, peut-être :

If Application.Intersect(ActiveCell, Range("E3").Currentregion) is nothing Then
 

pierrejean

XLDnaute Barbatruc
Re : aide VBA noctambule

bonjour meldja

A tester

Code:
Set isect = Application.Intersect(ActiveCell, Range("E3:E50"))
If isect Is Nothing Then
   MsgBox "Activecell hors de la plage"
Else
  Selection.AutoFilter Field:=1, Criteria1:=ActiveCell.Value
End If

encore a la bourre moi !!
Salut a tous
 

meldja

XLDnaute Impliqué
Re : aide VBA noctambule

Merci skoobi, tutotiti (qui ont le même code) et Hasco,
Rien à dire à part merci, c'est exactement ce que je voulais. Désolé de la lenteur de ma réponse mais je crois que je ne dois pas dépasser les 10 kb/s de connexion ; en plus de ça, y a ma fille de 2 ans qui vient de se réveiller et qui a besoin d'un bisou pour se rendormir.
Bonne soirée et encore merci
 

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…