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 :

Date inversée de USF à Feuille excel


Sujet :

Macros et VBA Excel

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Webmaster
    Inscrit en
    Mai 2014
    Messages
    92
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Belgique

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Mai 2014
    Messages : 92
    Points : 30
    Points
    30
    Par défaut Date inversée de USF à Feuille excel
    Bonsoir,
    J'ai un petit problème avec mes dates ! :o
    J'ai un USF pour ma facturation,
    Il affiche la date du jours pour une nouvelle facture, ensuite quand je clic sur le bouton enregistrer il copie les données dans une feuille excel jusqu'ici pas de problème,

    Cependant, lorsque la date est inférieur à J12 sa bug je m'explique :

    Une date comme aujourd’hui donc 10-12-18 va être recopier dans excel en 12-10-18 ...
    Mais si j'entre dans la TextBox 15-12-18 alors la, il recopie bien 15-12-18

    J'ai regarder sur le net et en effet sa bug entre la version FR et US mais tout est bien en français dans les paramètres et même si je force le format en dd-mm-yy sa change rien

    avez vous une idée ???

  2. #2
    Membre extrêmement actif
    Homme Profil pro
    aucune
    Inscrit en
    Avril 2016
    Messages
    7 563
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 82
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Avril 2016
    Messages : 7 563
    Points : 12 422
    Points
    12 422
    Par défaut
    Bonjour
    avez vous une idée ?
    Oui, bien sûr --->> une textbox contient une chaîne de caractères et non une date, un nombre, etc ....
    Intéresse-toi aux fonctions dee conversion de type, parmi lesquelles la fonction cdate.
    Je n'accepte pas de demande d' "amitié" individuelle. Tout développeur est pour moi un ami.
    Je n'ouvre AUCUN classeur tiers (avec ou sans macro ******). Ne m'en proposez donc pas .

    ****** : Non, non ... un classeur .xlsx ne "peut" par exemple et entre autres pas contenir un activex (de surcroît invisible) , "bien sûr" ...

    Il est illusoire de penser que l'on saurait exprimer valablement et précisément en un langage (rigide) de développement ce que l'on peine à exprimer dans le langage naturel, bien plus souple.

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    Webmaster
    Inscrit en
    Mai 2014
    Messages
    92
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Belgique

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Mai 2014
    Messages : 92
    Points : 30
    Points
    30
    Par défaut RE
    Heu .. ok mais dans mon code qui recopie les texbox il fonctionne avec les tag. Je n'ai pas de code qui dit tel textbox se copie sur tel cellule.

    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
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    'Enregistrer le devis ou la facture
    Private Sub CommandButton6_click()
     
        If ComboBox13 = "" Then
        MsgBox "Aucun mode sélectionné"
        Exit Sub
        Else
     
     
    Dim O As Worksheet 'déclare la variable O (Onglet)
    Dim PLV As Integer 'déclare la variable PLV (Première Ligne Vide)
    Dim CTRL As Control 'déclare la variable CTRL (ConTRôLe)
    Dim PM As Integer 'Partie Mobile
    Dim NN As String 'Nouveau Numéro
    Dim PF As String 'Partie Fixe
     
    If ComboBox13.Value = "Devis" Then
    If TextBox96.Value = "" Then
    TextBox96.Value = "0"
    End If
    End If
     
     
    If MsgBox("Êtes-vous sûr ?", 36, "Confirmation") = vbYes Then 'condition : si "Oui"au message
     
        Select Case UCase(Me.ComboBox13.Value) 'agit en fonction de la valeur de la ComboBox13 (convertie en majuscules)
     
            Case "DEVIS" 'cas "DEVIS"
                Set O = Worksheets("Devis") 'définit l'onglet O
            Case "FACTURE" 'cas "FACTURE"
                Set O = Worksheets("Facturier") 'définit l'onglet O' c'est été plus malin de mettre le même
            Case "ACOMPTE" 'cas "ACOMPTE"
                Set O = Worksheets("Facturier") 'définit l'onglet O' c'est été plus malin de mettre le même
        End Select 'fin de l'action en fonction de la valeur de la Combobox13
        PLV = O.Cells(Application.Rows.Count, "A").End(xlUp).Row + 1 'définie la première ligne vide de la colonne A de l'onglet O
        For Each CTRL In Me.Controls 'boucle sur tous les contrôles de l'userForm
            'si la propriété [Tag] du contrôle n'est pas vide, renvoie la valeur du contrôle dans la cellule
            'ligne = PLV / colonne = valeur de la propriété [Tag] du contrôle
            If CTRL.Tag <> "" Then O.Cells(PLV, CTRL.Tag).Value = CTRL.Value
        Next CTRL 'prochaine contrôle de la boucle
    End If 'fin de la condition
    PF = Left(O.Cells(PLV - 1, 1).Value, 5)
    PM = Mid(O.Cells(PLV - 1, 1).Value, 6) + 1
    NN = PF & Format(PM, "00000")
    O.Cells(PLV, 1).Value = NN
    Worksheets("Facturier").Range("BV:BX").ClearContents 'supprime les données qu'il copie en trop dans Facturier
    Worksheets("Devis").Range("BZ:BZ").ClearContents 'supprime les données qu'il copie en trop dans Devis
     
    MsgBox "Les données sont enregistrées"
     
    'Methode simple pour revenir à l'userform "Vide"
    Unload Me 'Quitte l'userform
    UserForm2.Show 'Revient dans l'userform
     
    End If
    End Sub

  4. #4
    Expert éminent
    Homme Profil pro
    Inscrit en
    Août 2010
    Messages
    3 453
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Août 2010
    Messages : 3 453
    Points : 6 871
    Points
    6 871
    Par défaut
    Bonjour,

    Une piste :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    If CTRL.Tag <> "" Then
     
        With O.Cells(PLV, CTRL.Tag)
     
            If IsDate(CTRL.Value) Then .Value = CDate(CTRL.Value) Else .Value = CTRL.Value
     
        End With
     
    End If

  5. #5
    Expert confirmé Avatar de BENNASR
    Homme Profil pro
    Responsable comptable & financier
    Inscrit en
    Décembre 2013
    Messages
    2 914
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Responsable comptable & financier
    Secteur : Finance

    Informations forums :
    Inscription : Décembre 2013
    Messages : 2 914
    Points : 5 121
    Points
    5 121
    Par défaut
    bonsoir
    sur ce super site j'ai vu les membres recommandent :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Private Sub CommandButton1_Click()
    Sheets("feuil1").Cells(1, 1) = DateSerial(Year(TextBox1.Value), Month(TextBox1.Value), Day(TextBox1.Value))
    End Sub
    --------------------------------------------------------------*****----------------------------------------------------------------------------
    Bonne Continuation & Plein Succès
    Notre seul pouvoir véritable consiste à aider autrui avec modestie
    ______________________________________________________
    Pour dire merci, cliquer sur et quand la discussion est résolue, penser à cliquer sur le bouton

  6. #6
    Responsable
    Office & Excel


    Homme Profil pro
    Formateur et développeur chez EXCELLEZ.net
    Inscrit en
    Novembre 2003
    Messages
    19 122
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur et développeur chez EXCELLEZ.net
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 19 122
    Points : 55 951
    Points
    55 951
    Billets dans le blog
    131
    Par défaut
    Citation Envoyé par BENNASR Voir le message
    bonsoir
    sur ce super site j'ai vu les membres recommandent :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Private Sub CommandButton1_Click()
    Sheets("feuil1").Cells(1, 1) = DateSerial(Year(TextBox1.Value), Month(TextBox1.Value), Day(TextBox1.Value))
    End Sub
    Je ne suis pas certain que cela résoudrait le problème, puisque VBA va traduire la valeur de Textbox1 en date avant d'en extraire les trois parties (qui seront donc identiques avant et après).

    Perso, je travaille en recomposant la date sur base des trois parties extraites de TextBox1 grâce à split ou à left, instr et right, en fonction du format de saisie supposé/vérifié dans le textbox.

    Ne ne ferais pas du tout confiance à cDate, en tout cas.

    Month(cDate("03/12/2018") ==>> 12
    Month(cDate("12/31/2018") ===> 12
    "Plus les hommes seront éclairés, plus ils seront libres" (Voltaire)
    ---------------
    Mes billets de blog sur DVP
    Mes remarques et critiques sont purement techniques. Ne les prenez jamais pour des attaques personnelles...
    Pensez à utiliser les tableaux structurés. Ils vous simplifieront la vie, tant en Excel qu'en VBA ==> mon tuto
    Le VBA ne palliera jamais une mauvaise conception de classeur ou un manque de connaissances des outils natifs d'Excel...
    Ce ne sont pas des bonnes pratiques parce que ce sont les miennes, ce sont les miennes parce que ce sont des bonnes pratiques
    VBA pour Excel? Pensez D'ABORD en EXCEL avant de penser en VBA...
    ---------------

  7. #7
    Expert éminent
    Homme Profil pro
    Inscrit en
    Août 2010
    Messages
    3 453
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Août 2010
    Messages : 3 453
    Points : 6 871
    Points
    6 871
    Par défaut
    Bonjour Pierre,

    Normal, tu entres une fois au format US et une fois au format Fr mais testes de cette façon :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    MsgBox CDate("03/12/2018")
    MsgBox CDate("12/31/2018")

  8. #8
    Responsable
    Office & Excel


    Homme Profil pro
    Formateur et développeur chez EXCELLEZ.net
    Inscrit en
    Novembre 2003
    Messages
    19 122
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur et développeur chez EXCELLEZ.net
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 19 122
    Points : 55 951
    Points
    55 951
    Billets dans le blog
    131
    Par défaut
    Salut Theze,

    Ben oui, c'est justement ce que je voulais illustrer A savoir qu'avec cDate, c'est le VBA qui "décide" de ce que tu as saisi. cDate dépend en plus des paramètres régionaux, ce qui fait que si tes paramètres régionaux Windows sont MM/jj/aaaa, cDate("03/12/2018") renverra le 12 mars, alors que si ces paramètres sont jj/MM/aaaa, ça renverra le 03/12...

    C'est pourquoi je préfère considérer que la date a été saisie au format demandé et parser par rapport à ce format, plutôt que de déléguer cette tâche à VBA qui fera à sa sauce.
    "Plus les hommes seront éclairés, plus ils seront libres" (Voltaire)
    ---------------
    Mes billets de blog sur DVP
    Mes remarques et critiques sont purement techniques. Ne les prenez jamais pour des attaques personnelles...
    Pensez à utiliser les tableaux structurés. Ils vous simplifieront la vie, tant en Excel qu'en VBA ==> mon tuto
    Le VBA ne palliera jamais une mauvaise conception de classeur ou un manque de connaissances des outils natifs d'Excel...
    Ce ne sont pas des bonnes pratiques parce que ce sont les miennes, ce sont les miennes parce que ce sont des bonnes pratiques
    VBA pour Excel? Pensez D'ABORD en EXCEL avant de penser en VBA...
    ---------------

  9. #9
    Expert éminent
    Homme Profil pro
    Inscrit en
    Août 2010
    Messages
    3 453
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Août 2010
    Messages : 3 453
    Points : 6 871
    Points
    6 871
    Par défaut
    Ok, Ok, je n'avais pas saisie le sens de ta réponse désolé

  10. #10
    Responsable
    Office & Excel


    Homme Profil pro
    Formateur et développeur chez EXCELLEZ.net
    Inscrit en
    Novembre 2003
    Messages
    19 122
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur et développeur chez EXCELLEZ.net
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 19 122
    Points : 55 951
    Points
    55 951
    Billets dans le blog
    131
    Par défaut
    Pas de soucis... Y a pas à être désolé. Pas toujours facile de bien se faire comprendre par clavier ^^
    "Plus les hommes seront éclairés, plus ils seront libres" (Voltaire)
    ---------------
    Mes billets de blog sur DVP
    Mes remarques et critiques sont purement techniques. Ne les prenez jamais pour des attaques personnelles...
    Pensez à utiliser les tableaux structurés. Ils vous simplifieront la vie, tant en Excel qu'en VBA ==> mon tuto
    Le VBA ne palliera jamais une mauvaise conception de classeur ou un manque de connaissances des outils natifs d'Excel...
    Ce ne sont pas des bonnes pratiques parce que ce sont les miennes, ce sont les miennes parce que ce sont des bonnes pratiques
    VBA pour Excel? Pensez D'ABORD en EXCEL avant de penser en VBA...
    ---------------

  11. #11
    Expert éminent
    Avatar de MarcelG
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2009
    Messages
    3 449
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 66
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2009
    Messages : 3 449
    Points : 7 149
    Points
    7 149
    Billets dans le blog
    7
    Par défaut
    Bonjour à tous,

    (Hé salut!)

    Si je peux me permettre.

    Tous mes formulaires sont composés de 3 TextBox avec contrôle du mois (1à12) et Tab automatiques.

    Bien Cordialement.

    Marcel

    Dernier billet:
    Suppression des doublons d'un tableau structuré, gestion d'un array

    Pas de messagerie personnelle pour vos questions, s'il vous plaît. La réponse peut servir aux autres membres. Merci.


  12. #12
    Responsable
    Office & Excel


    Homme Profil pro
    Formateur et développeur chez EXCELLEZ.net
    Inscrit en
    Novembre 2003
    Messages
    19 122
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur et développeur chez EXCELLEZ.net
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 19 122
    Points : 55 951
    Points
    55 951
    Billets dans le blog
    131
    Par défaut
    Salut Marcel,

    Permets-toi, surtout (plus on est de fous )

    Perso, je n'aime pas. Pour des saisies récurrentes, je trouve que c'est galère sur le plan de la saisie. Et ça ne résout que les problèmes de userform. Pour tout ce qui est échange de données, on est quand même chocolat.

    Mais à nouveau, ici comme ailleurs, ce n'est que "ma" vérité, qui est loin d'être universelle...


    PS: Je réponds à ton mp ce soir. Promis juré, croix de bois, croix de fer...
    "Plus les hommes seront éclairés, plus ils seront libres" (Voltaire)
    ---------------
    Mes billets de blog sur DVP
    Mes remarques et critiques sont purement techniques. Ne les prenez jamais pour des attaques personnelles...
    Pensez à utiliser les tableaux structurés. Ils vous simplifieront la vie, tant en Excel qu'en VBA ==> mon tuto
    Le VBA ne palliera jamais une mauvaise conception de classeur ou un manque de connaissances des outils natifs d'Excel...
    Ce ne sont pas des bonnes pratiques parce que ce sont les miennes, ce sont les miennes parce que ce sont des bonnes pratiques
    VBA pour Excel? Pensez D'ABORD en EXCEL avant de penser en VBA...
    ---------------

  13. #13
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 379
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cuisiniste
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2009
    Messages : 15 379
    Points : 12 075
    Points
    12 075
    Billets dans le blog
    8
    Par défaut re
    bonsoir a tous

    pour les moins exigeants qui developpe qu'en francais
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    Private Sub CommandButton1_Click()
        Dim retour  As VbMsgBoxResult
        retour = vbYes
        With TextBox1
            If IsDate(.Value) Then
                If Format(.Value, "dd/mm/yyyy") <> .Value Then
                    retour = MsgBox("la date est valide mais pas au bon format" & vbCrLf & "voulez vous la mettre reformatée", vbYesNo, "conversion de date")
                End If
                If retour = vbYes Then Sheets("feuil1").Cells(1, 1) = DateSerial(Year(.Value), Month(.Value), Day(.Value))
            Else
                MsgBox "ca n'est pas une date valide !!"
            End If
        End With
    End Sub
    pour les plus exigeants qui developpe en international
    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 CommandButton2_Click()
        Dim retour As VbMsgBoxResult, FORMAT_US_FR As String, x As Long
        retour = vbYes
        x = Application.International(xlDateOrder)
        FORMAT_US_FR = Switch(x = 0, "mm/dd/yyyy", x = 1, "dd/mm/yyyy", x = 2, "yyyy/mm/dd")
        With TextBox1
            If IsDate(.Value) Then
                If Format(.Value, FORMAT_US_FR) <> .Value Then
                    retour = MsgBox("la date est valide mais pas au bon format" & vbCrLf & "voulez vous la mettre reformatée", vbYesNo, "conversion de date")
                End If
                If retour = vbYes Then Sheets("feuil1").Cells(1, 1) = DateSerial(Year(.Value), Month(.Value), Day(.Value))
            Else
                MsgBox "ca n'est pas une date valide !!"
            End If
        End With
    End Sub
    j'aurais pu ajouté une condition sur le xl4DigitYears mais j'ai pensé que c'etait suffisant pour une premiere fourné
    je précise a toute fin utile que si les 4 digits pour l'année sont omis c'est l'année en cours qui est prise en compte

    edit
    j'ai corrigé le type de variable et les deux code pour la transcription si pas d'erreur mille excuses
    mes fichiers dans les contributions:
    mail avec CDO en vba et mail avec CDO en vbs dans un HTA
    survol des bouton dans userform
    prendre un cliché d'un range

    si ton problème est résolu n'oublie pas de pointer : : ça peut servir aux autres
    et n'oublie pas de voter

  14. #14
    Nouveau membre du Club
    Homme Profil pro
    Webmaster
    Inscrit en
    Mai 2014
    Messages
    92
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Belgique

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Mai 2014
    Messages : 92
    Points : 30
    Points
    30
    Par défaut re
    Bonsoir et merci pour vos réponse
    je mélange un peut tout maintenant.

    Une personne sur Facebook ma aider aussi tout à l'heure
    voici un code que j'ai rajouter (quand j'appuie sur enregistrer facture

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    For Each CTRL In Me.Controls 'boucle sur tous les contrôles de l'userForm
        If CTRL.Tag <> "" Then
            With O.Cells(PLV, CTRL.Tag)
                If IsDate(CTRL.Value) Then .Value = CDate(CTRL.Value) Else .Value = CTRL.Value
            End With
        End If
    Next
    La maintenant la date du jours qui s'affiche dans mes textbox sont parfaitement recopier dans les cellules sur ma feuille sans inversion
    MAIS :

    Problème 1 :
    Maintenant quand je suis dans l'USF
    et que je regarde mes anciennes Factures (donc déjà enregistrer dans la base de données)
    je clic sur la facture dans la listbox et il me la replace dans les textbox...

    Mais il m'affiche une date encore mélanger ... dans la feuille c'est une facture avec comme date : 31-11-18
    et il me l'affiche dans la textbox en 18-11-31 :s :s :s
    à devenir fou !

    problème 2 :
    Si j'ai envie pour x raison d'entrer une autre date que celle du jours (il l'affiche automatiquement du coup)
    donc je modifie la date du jours 11-12-18 en 10-11-18
    et quand j'enregistre la facture il me copie quand même celle du jours ! malgré que j'ai mis une autre date dans la textbox ..

    Heu ... je devient fou je pense
    trop de codage tue le ... mais étant novice .... mdr

  15. #15
    Nouveau membre du Club
    Homme Profil pro
    Webmaster
    Inscrit en
    Mai 2014
    Messages
    92
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Belgique

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Mai 2014
    Messages : 92
    Points : 30
    Points
    30
    Par défaut re
    Pour celui qui à envie
    voici mon fichier avec les données persos supprimer
    Fichiers attachés Fichiers attachés

  16. #16
    Expert éminent
    Homme Profil pro
    Inscrit en
    Août 2010
    Messages
    3 453
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Août 2010
    Messages : 3 453
    Points : 6 871
    Points
    6 871
    Par défaut
    Bonjour,

    Une personne sur Facebook ma aider aussi tout à l'heure
    voici un code que j'ai rajouter (quand j'appuie sur enregistrer facture
    mais c'est le code que je t'ai donné plus haut et nous ne sommes pas sur Facebook ici !
    Essai d'affecter la propriété "Text" de la cellule à tes TextBox plutôt que "Value" pour voir :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    TextBox1.Text = Range("A1").Text

  17. #17
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 379
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cuisiniste
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2009
    Messages : 15 379
    Points : 12 075
    Points
    12 075
    Billets dans le blog
    8
    Par défaut re
    re
    j'ai ouvert ton fichier
    dans quel userform tu a besoins de taper ou recupérer une date ?
    je te souhaite de garder le meme PC et ecran toute ta vie par ce que le jour ou tu change il te faudra tout refaire
    tout tes userforms sont surdimentionnés certain controls ne sont meme plus accessibles
    exemple pour celui ci
    Nom : Capture.JPG
Affichages : 739
Taille : 28,5 Ko
    mes fichiers dans les contributions:
    mail avec CDO en vba et mail avec CDO en vbs dans un HTA
    survol des bouton dans userform
    prendre un cliché d'un range

    si ton problème est résolu n'oublie pas de pointer : : ça peut servir aux autres
    et n'oublie pas de voter

  18. #18
    Nouveau membre du Club
    Homme Profil pro
    Webmaster
    Inscrit en
    Mai 2014
    Messages
    92
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Belgique

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Mai 2014
    Messages : 92
    Points : 30
    Points
    30
    Par défaut re
    Merci pour vos réponse.

    Si si l'userform fonctionne mais sur la copie que je vous ai envoyer j'ai supprimer les feuilles qui ne sert à rien pour mon problème du coup l'usf ne fonctionne pas
    mais il me sert à visualiser les facture comme pour les imprimer

    Pour les dimensions oui... mais j'ai préférer que sa prenne tout mon écran pour ne même plus voir l'excel en arrière plan

    Du coup, dans l'userform principale :

    Il y à la Listobox qui prend tout le dessus : sa me sert à rechercher : clients, factures ou devis et je peut cliquer sur un de la liste pour qu'il me l'affiche comme si je venait de le coder donc dans les textbox du programmes.
    (dans cette copie j'ai supprimer également les facture et devis du coup la listbox est vide)

    Pour les Textbox que j'ai besoin pour les dates : (en mode Facture par exemple)

    Nom : aide.jpg
Affichages : 787
Taille : 225,6 Ko

  19. #19
    Nouveau membre du Club
    Homme Profil pro
    Webmaster
    Inscrit en
    Mai 2014
    Messages
    92
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Belgique

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Mai 2014
    Messages : 92
    Points : 30
    Points
    30
    Par défaut re
    these : j'ai tester mais sa change pas grand chose

    sa me fait ce truc bizare avec une seul date mais impossible même si je la modifie sa change rien (les autres fonctionne) pk uniquement celle-ci déconne je ne sais pas

    Nom : aide2.jpg
Affichages : 771
Taille : 317,2 Ko

  20. #20
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 379
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cuisiniste
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2009
    Messages : 15 379
    Points : 12 075
    Points
    12 075
    Billets dans le blog
    8
    Par défaut re
    je reprends a zero car la ca deviens un peu dur hein
    donc si j'ai bien compris tu recupere la date au format "xx-xx-xxxx" dans une cellule et avec ton bouton dans le userform tu la retranscrit dans une autre cellule c'est bien ca ?

    sache deja que si c'est bien ce format dans les cellules ce ne peut etre des dates mais du text donc en ce qui concerne le calcul eventuel de date tu es chocolat
    donc soit tu copie au formattext ta cellule dans ton textbox (=cells(x,y).text ) et tu retranscrit dans la cellule de destination en text aussi au cas ou avant tu fait pour la cellule de destination cells(x2,y2).numberformat="@"

    autrement dis tes cellules sont en texte
    sinon travaille avec un format de date correcte a savoir pour notre region "XX/XX/XXXX"qui est le format "dd/mm/yyyy" et pour cela rien de mieux que le dateserial inclu dans la condition de format et isdate comme je l'ai montré plus haut
    sans ca tu va ramer longtemps

    dans le pire des cas
    voici un exemple qui recupere ta dtae au format"xx-xx-xxxx" ,la traite en format"xx/xx/xxxx" et la restitue dans la cellule d'a coté en "xx-xx-xxxx"
    un userform avec 2 bouton et un textbox
    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
    Private Sub CommandButton1_Click()
        Dim retour As VbMsgBoxResult, FORMAT_US_FR As String, x As Long
        retour = vbYes
        x = Application.International(xlDateOrder)
        FORMAT_US_FR = Switch(x = 0, "mm/dd/yyyy", x = 1, "dd/mm/yyyy", x = 2, "yyyy/mm/dd")
         With TextBox1
            If IsDate(.Value) Then
                If Format(.Value, FORMAT_US_FR) <> .Value Then
                    retour = MsgBox("la date est valide mais pas au bon format" & vbCrLf & "voulez vous la mettre reformatée", vbYesNo, "conversion de date")
                End If
                If retour = vbYes Then Sheets("feuil1").Cells(1, 2) = Replace(DateSerial(Year(.Value), Month(.Value), Day(.Value)), "/", "-")
            Else
                MsgBox "ca n'est pas une date valide !!"
            End If
        End With
    End Sub
     
    Private Sub CommandButton2_Click()
    TextBox1 = Replace(Sheets(1).Range("A1").Text, "-", "/")
    End Sub
    je ne vois pas ou est ta dificulté
    mes fichiers dans les contributions:
    mail avec CDO en vba et mail avec CDO en vbs dans un HTA
    survol des bouton dans userform
    prendre un cliché d'un range

    si ton problème est résolu n'oublie pas de pointer : : ça peut servir aux autres
    et n'oublie pas de voter

Discussions similaires

  1. Réponses: 1
    Dernier message: 23/02/2017, 22h57
  2. [XL-2003] date inversée sur ma feuille
    Par goldfinger13 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 06/02/2012, 20h00
  3. problème de date inversée!EXCEL 07
    Par bahman dans le forum Excel
    Réponses: 5
    Dernier message: 18/08/2008, 08h28
  4. Réponses: 9
    Dernier message: 19/02/2007, 20h33
  5. nommer une feuille excel par la date du jour.
    Par Bourezak dans le forum Access
    Réponses: 3
    Dernier message: 22/01/2007, 15h22

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