IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

Inputbox rechercher une date


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Octobre 2010
    Messages
    361
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2010
    Messages : 361
    Par défaut Inputbox rechercher une date
    Bonjour,

    J'ai créé un bouton et j'aimerais qu'après un clic, on puisse insérer une date dans une inputbox et que la cellule soit directment sélectionnée et, pourquoi pas en couleur.

    Quelqu'un peut m'aider merci.

  2. #2
    Expert confirmé
    Homme Profil pro
    aucune
    Inscrit en
    Septembre 2011
    Messages
    8 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Septembre 2011
    Messages : 8 208
    Par défaut
    Bonjour,

    A ta place, j'afficherais un contrôle genre Calendar (si tu l'as) ou date and picker. Sinon, tu vas devoir contrôler si le 29/02/xxxx est bien une année bissextile et que le 31/04 n'est pas valide... bon courage. Si tu persiste dans ton idée, dis-le.

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Octobre 2010
    Messages
    361
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2010
    Messages : 361
    Par défaut
    en fait, j'ai un tableau allant du 01/01/11 au 31/12/11.
    Pour les années bisextiles, ... cela m'importe peu.

    En fati, il faut simplement (... !!) aller directement à la bonne cellule.
    (ici se sont des dates mais ça pourrait être un mot, par ex.)

  4. #4
    Expert confirmé
    Homme Profil pro
    aucune
    Inscrit en
    Septembre 2011
    Messages
    8 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Septembre 2011
    Messages : 8 208
    Par défaut
    La macro met la date dans la cellule active et colorie le fond de cellule en rouge pétant.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Private Sub CommandButton1_Click()
        Dim Dat As String
        Dat = InputBox("Entrez la date")
        If IsDate(CDate(Dat)) Then
            ActiveCell.Value = CDate(Dat)
            ActiveCell.Interior.ColorIndex = 3
        End If
    End Sub

  5. #5
    Membre éclairé
    Profil pro
    Inscrit en
    Octobre 2010
    Messages
    361
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2010
    Messages : 361
    Par défaut
    ça avance.... mais ce qui m'intéresse c'est que lorsque l'on inscrit une date dans l'inputbox elle soit sélectionnée dans la colonne A et pas recopiée.

    La cellule se met bien en fond rouge. Possible que le fond rouge disparaisse quand on dé-sélectionne la cellule ?

    Merci

  6. #6
    Expert confirmé
    Avatar de Didier Gonard
    Homme Profil pro
    Formateur Office et développeur VBA en freelance
    Inscrit en
    Février 2008
    Messages
    2 805
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Formateur Office et développeur VBA en freelance

    Informations forums :
    Inscription : Février 2008
    Messages : 2 805
    Par défaut
    Bonjour,

    Clairement, tu voudrais faire une recherche de date dans une colonne à partir d'un Inputbox et qui si la date entrées existe la cellule soit sélectionnée et mise en couleur.

    Puis, si l'utilisateur ou une autre recherche sélectionne une autre cellule, la précédente revienne à nul / couleur et la nouvelle se colorie... si elle est sélectionnée via ta recherche... ? (on ne sait pas si l'utilisateur peut sélectionner manuellement et quoi faire si oui etc...

    Ce que te préconise Daniel.C sera de loin le meilleur pour éviter des filtres de validation des données et de plus très ergonomique sinon.

    Pour les recherches de dates, tu peux voir des fils existant sur la semaine passée dont :

    http://www.developpez.net/forums/d11...omprehensible/

    http://www.developpez.net/forums/d11...es-find-dates/

    pour l'alternance de colorisation, il faudra jouer sur l'évènementiel SelectionChange de ta feuille...

    etc....

    Rajout : Pour la couleur...ce n'est pas la même chose que dans ta question résolue du 10 de ce mois ?

    http://www.developpez.net/forums/d11...-choisir-date/


    Cordialement,

    Didier

  7. #7
    Expert confirmé
    Homme Profil pro
    aucune
    Inscrit en
    Septembre 2011
    Messages
    8 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Septembre 2011
    Messages : 8 208
    Par défaut
    Dans le module de la feuille :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    Private Sub CommandButton1_Click()
        Dim Dat As String
        Dat = InputBox("Entrez la date")
        If IsDate(Dat) Then
            Var = CDate(Dat)
            c = Application.Match(CDate(Dat) * 1, [A:A], 0)
            If IsNumeric(c) Then
                Cells(c, 1).Select
                Cells(c, 1).Interior.ColorIndex = 3
            End If
        End If
    End Sub
     
    Private Sub Worksheet_SelectionChange(ByVal Target As Range)
        Columns(1).Interior.ColorIndex = 0
    End Sub

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. rechercher une date et copier la colonne dans un autre onglet
    Par jd69001 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 05/02/2012, 20h09
  2. [XL-2007] Rechercher une date.
    Par fasedan dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 27/01/2012, 13h08
  3. rechercher une date et copier la ligne dans un autre onglet
    Par ptitloup57 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 16/02/2009, 13h34
  4. [MySQL] comment rechercher une date au format datetime avec une date au format date
    Par Menoly dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 15/06/2007, 10h14
  5. Rechercher une date et afficher dans un formulaire
    Par gadjou dans le forum Access
    Réponses: 3
    Dernier message: 03/08/2006, 11h44

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo