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 :

Problème dans une macro pour ajouter une date [XL-2007]


Sujet :

Macros et VBA Excel

  1. #1
    Membre du Club
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Avril 2015
    Messages
    86
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Algérie

    Informations professionnelles :
    Activité : Technicien maintenance

    Informations forums :
    Inscription : Avril 2015
    Messages : 86
    Points : 55
    Points
    55
    Par défaut Problème dans une macro pour ajouter une date
    Bonjour à tous

    Voila ci-dessous j'ai une macro qui fonctionne très bien dans userform nommé (AjoutEncaissements) qui contient deux textbox une pour la somme et l'autre pour la date, car dès la validation elle envoi la somme vers la colonne C (TAG=3) avec le format monétaire, mais mon problème c'est que je ne parviens pas faire de même pour la date c'est à dire envoyer la date en colonne B (TAG=2) avec le format date courte "dd/mm/yyyy" qui est dans un TextBox nommé (DateBox)

    Donc ma demande est-t-il possible d'ajouter un code afin d'envoyer la date avec le dit format comme la macro le fait avec la somme ?

    Merci par avance

    Cordialement

    Ma macro :
    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
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    Private Sub AjoutNouveauEncaissements_Click()
      Dim Derligne As Integer
      Dim LigneDebut As Long
      Dim Ctrl As Control
      Dim CtrI As Long
      Dim r As Integer
     
        With Worksheets("BD_Encaissements")
        LigneDebut = 12
        Derligne = .Range("B" & Cells.Rows.Count).End(xlUp).Row + 1
        For Each Ctrl In AjoutEncaissements.Controls
        r = Val(Ctrl.Tag)
            If r > 0 Then
                  If Ctrl.Name = "Encaissements_TextBox" Then
                    .Cells(Derligne, r) = Val(Ctrl)
                    .Cells(Derligne, r).NumberFormat = "#,##0.00"
                  Else
                    .Cells(Derligne, r) = Ctrl
                  End If
              End If
           Next
        Sheets("BD_Encaissements").Select
        Range("B11:C" & Derligne).Sort Key1:=Range("B11"), Order1:=xlAscending, Header:=xlYes
      MENU.UserForm_Initialize
      If MsgBox("L'encaissement portant la somme de (" & Encaissements_TextBox & ") a été ajouté avec succès voulez-vous enregistrer un autre encaissement ?", vbYesNo, "Confirmation") = vbYes Then
            Unload Me
            AjoutEncaissements.Show
            Else
            Unload AjoutEncaissements
          End If
       End With
    End Sub

  2. #2
    Membre émérite
    Inscrit en
    Octobre 2010
    Messages
    1 401
    Détails du profil
    Informations forums :
    Inscription : Octobre 2010
    Messages : 1 401
    Points : 2 684
    Points
    2 684
    Par défaut
    Bonjour INFINITY100

    Citation Envoyé par INFINITY100
    c'est à dire envoyer la date en colonne B (TAG=2) avec le format date courte "dd/mm/yyyy" qui est dans un TextBox nommé (DateBox)

    Attribuer d'abord un format Date à la cellule

    - Pour internationaliser le classeur, c-a-d pour que le format de date affiché s'adapte au format Date courte défini dans le Panneau de configuration de Windows, utiliser le format spécial m/d/yyyy
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     .Cells(Derligne, 2).NumberFormat = "m/d/yyyy"
    Puis, transférer la date vers la cellule

    2 techniques pour éviter le risque d'inversion jour/mois

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
         'Technique 1
                     .Cells(Derligne, 2).FormulaLocal = Ctrl.Value
     
       'Technique 2
     
                     .Cells(Derligne, 2).Value = Format(Ctrl.Value, "yyyy-mm-dd")

  3. #3
    Membre du Club
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Avril 2015
    Messages
    86
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Algérie

    Informations professionnelles :
    Activité : Technicien maintenance

    Informations forums :
    Inscription : Avril 2015
    Messages : 86
    Points : 55
    Points
    55
    Par défaut
    Merci infiniment Docmarti

    ça fonctionne super bien

    Cordialement

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

Discussions similaires

  1. Macro pour ajouter une ligne dans une feuille automatiquement
    Par nianko dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 09/11/2010, 10h52
  2. [XL-2000] Modification d'une macro pour récupération de date de modif
    Par flosauveur69 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 21/10/2010, 17h38
  3. Réponses: 6
    Dernier message: 20/11/2009, 14h07
  4. [Macro Access] pb dans mon code pour lancer une macro Access
    Par Commodore dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 20/06/2007, 11h51
  5. [ImageMagick] Problème dans le code pour redimensionner une image
    Par pierrot10 dans le forum Bibliothèques et frameworks
    Réponses: 2
    Dernier message: 08/06/2007, 15h06

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