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 :

rapatrier les dates du calendrier dans cellules [XL-2007]


Sujet :

Macros et VBA Excel

  1. #1
    Membre du Club
    Inscrit en
    Septembre 2005
    Messages
    255
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 255
    Points : 50
    Points
    50
    Par défaut rapatrier les dates du calendrier dans cellules
    Ahhhhh,
    je n'arrive pas à rapatrier la date que je sélectionne dans mon calendrier dans une cellule donnée
    Voila un bout du code


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Private Sub Worksheet_SelectionChange(ByVal Target As Range)
     
    If Target.Column = 3 And Target.Row = 6 Or Target.Column = 4 And Target.Row = 6 Then
     
    UserForm4.Show
    End If
    End Sub
    Merci

  2. #2
    Expert éminent Avatar de jfontaine
    Homme Profil pro
    Contrôleur de Gestion
    Inscrit en
    Juin 2006
    Messages
    4 754
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Contrôleur de Gestion

    Informations forums :
    Inscription : Juin 2006
    Messages : 4 754
    Points : 9 396
    Points
    9 396
    Par défaut
    Bonjour,

    Actuellement, ton code affiche la Userform4 si tu sélectionnes une des celulles suivantes (C6 ou D6).
    Je ne vois aucune référence à un objet calendrier ni de notion d'affectation de valeur à une cellule

  3. #3
    Membre du Club
    Inscrit en
    Septembre 2005
    Messages
    255
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 255
    Points : 50
    Points
    50
    Par défaut
    salut,
    mon calendrier s'appelle UserForm4

    ensuite voila le code qui marche

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Private Sub Calendar1_Click()
        Range("C6").Value = Calendar1.Value
     
    End Sub
    Mon probléme est que je saisie un intervale de dates donc en cliquant dans la cellule suivante D6 j'affiche à nouveau mon Calendar1 mais je voudrais que la date sélectionnée aille dans la 2éme cellule soit D6

    C'est OK j'ai résolu mon probléme en créant 2 calendars
    Il me reste un souci, comment fait-on ouvrir un Calendar à la date du jour?
    Merci

  4. #4
    Expert éminent Avatar de jfontaine
    Homme Profil pro
    Contrôleur de Gestion
    Inscrit en
    Juin 2006
    Messages
    4 754
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Contrôleur de Gestion

    Informations forums :
    Inscription : Juin 2006
    Messages : 4 754
    Points : 9 396
    Points
    9 396
    Par défaut
    comment fait-on ouvrir un Calendar à la date du jour?

  5. #5
    Membre du Club
    Inscrit en
    Septembre 2005
    Messages
    255
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 255
    Points : 50
    Points
    50
    Par défaut
    Salut, et merci
    je continue dans mes questions
    voici le code que j'ai mis pour rapatrier les données des cellules de ma Feuil2 dans les textbox de mon Userform
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    If (Feuil2.Range("A6") <> "") And (Feuil2.Range("B6") <> "") And (Feuil2.Range("A6") <> "") And (Feuil2.Range("D6") <> "") Then
     
        UserForm2.Show
        UserForm2.TextBox1 = Range("A6").Value
        UserForm2.TextBox2 = Range("B6").Value
        UserForm2.TextBox3 = Range("C6").Value
        UserForm2.TextBox4 = Range("D6").Value
        End If
    Malheureusement, ça ne m'affiche pas les données à l'ouverture de l'UserForm, ça m'ouvre l'UserForm vide, puis je clique sur la croix pour fermer mon UserForm je sélectionne les 4 cellules pour effacer le contenu et là, il me réouvre l'UserForm avec les données
    qq'un pourrait-il m'aider
    Merci

  6. #6
    Expert éminent Avatar de jfontaine
    Homme Profil pro
    Contrôleur de Gestion
    Inscrit en
    Juin 2006
    Messages
    4 754
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Contrôleur de Gestion

    Informations forums :
    Inscription : Juin 2006
    Messages : 4 754
    Points : 9 396
    Points
    9 396
    Par défaut
    je sélectionne les 4 cellules pour effacer le contenu et là, il me réouvre l'UserForm avec les données
    Ton code affiche la userform si les 4 cellules sont pleines (aucune ne doit être vide)
    Comment les textbox peuvent être alimentées si les cellules sont vidées ??

    De plus dans ton code tu testes les cellules de Feuil2 et ne spécifies pas de feuille pour l'alimentation. Est ce aussi la feuille 2? Sur quelle feuille te trouves tu quand tu lances la macro.

    pour finir, sur quel évènement exécutes tu ce code?

  7. #7
    Expert éminent sénior


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Points : 20 040
    Points
    20 040
    Par défaut
    par défaut l'ouverture d'un userform s'ouvre en mode "modal" c'est à dire que la ligne UserForm2.Show est bloquante, les lignes suivante ne sont effectuées que lors de la fermeture de la form ... inverse l'ordre des lignes ou place tes lignes copiant les données dans la procédure :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Private Sub UserForm_Initialize()
     
    End Sub

  8. #8
    Membre du Club
    Inscrit en
    Septembre 2005
    Messages
    255
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 255
    Points : 50
    Points
    50
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    If (Feuil2.Range("A6") <> "") And (Feuil2.Range("B6") <> "") And (Feuil2.Range("A6") <> "") And (Feuil2.Range("D6") <> "") Then
           UserForm2.TextBox1 = Range("A6").Value
        UserForm2.TextBox2 = Range("B6").Value
        UserForm2.TextBox3 = Range("C6").Value
        UserForm2.TextBox4 = Range("D6").Value
        UserForm2.Show
     
        End If
    ça marche mieux dans ce sens

    Par contre j'ai un bouton sur mon UserForm qui a pour effet de fermer celui-ci, mais je voudrais qu'il me remette mes 4 cellules de la feuille vides
    comment écrit-on cela?
    Merci

  9. #9
    Expert éminent sénior


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Points : 20 040
    Points
    20 040
    Par défaut
    Citation Envoyé par fthem Voir le message
    ....
    Par contre j'ai un bouton sur mon UserForm qui a pour effet de fermer celui-ci, mais je voudrais qu'il me remette mes 4 cellules de la feuille vides
    comment écrit-on cela?
    Merci
    ben tu inverse l'affectation ... profite en pour préciser la feuille (chose que tu as oublié précédemment
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Feuil2.Range("B6").Value = UserForm2.TextBox2
    )

  10. #10
    Membre du Club
    Inscrit en
    Septembre 2005
    Messages
    255
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 255
    Points : 50
    Points
    50
    Par défaut
    OK, merci beaucoup, ça marche,
    ça commence à venir

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

Discussions similaires

  1. [XL-2007] Insérer Calendrier dans cellule
    Par manuseverine dans le forum Excel
    Réponses: 19
    Dernier message: 11/12/2013, 16h56
  2. Réponses: 15
    Dernier message: 28/11/2011, 11h59
  3. Réponses: 3
    Dernier message: 18/11/2011, 16h23
  4. Réponses: 2
    Dernier message: 16/08/2010, 18h58
  5. Réponses: 2
    Dernier message: 09/07/2008, 11h34

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