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 de Date


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2016
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Bâtiment

    Informations forums :
    Inscription : Janvier 2016
    Messages : 4
    Par défaut Problème de Date
    Bonjour j'utilise un template de version Etats unis alors que mon excel est en français. La version de mon VBA est le 7.1

    Mon problème est qu'une formule américaine s'upload dans mon fichier excel français ce qui génère alors un chiffre au lieu d'une date. J'ai tout essayé et n'arrive a rien.
    Je pense devoir utiliser la fonction .formula mais je n'arrive pas à l'intégrer dans mon code VBA. Ci après: Pouvez vous m'aider?
    Merci d'avance,
    1=> voila ce que j'essaye d'intégrer:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Sheet2.Select
    Sheet2.Range("O7:P7").Formula = "=TODAY()"
    2:=> voila mon code VBA

    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
    57
    58
    Sub Lookup()
    'declare the variables
        Dim Due As Variant
    'error statement
        On Error GoTo errHandler:
    'clear the listbox
        lstLookup.RowSource = ""
    'set the variable
        Due = Me.cboStart.Value
    'if "Nouveau" or "Unique" is selected run a different filter
        If Me.cboStart.Value = "Unique" Or Me.cboStart.Value = "Nouveau" Then
            Sheet2.Range("N7").Value = Me.cboStart.Value
            AdvFilter_Once
    'if the results are nil then clear the rowsource to avoid an error
            If Sheet2.Range("T7").Value = "" Then
                lstLookup.RowSource = ""
            Else
    'add range to rowsource if range has values
                lstLookup.RowSource = "Filter_Staff"
            End If
            Exit Sub
        End If
    'if no date selected for criteria
       
        With Sheet2
            If Me.cboStart = "" Then
                .Range("O7").Value = ""
                .Range("P7").Value = ""
                .Range("Q7").Value = Me.txtLookup
                .Range("R7").Value = Me.cboDepartment
                .Range("S7").Value = Me.txtLookup2
    'if date is selected
            Else
                .Range("P7").Value = "=""<""&TODAY()" & "+" & Due
                .Range("O7").Value = "=" & ">""&TODAY()"
                .Range("Q7").Value = Me.txtLookup
                .Range("R7").Value = Me.cboDepartment
                .Range("S7").Value = Me.txtLookup2
            End If
        End With
    'run the filter
        AdvFilter
        
    'if the results are nil then clear the rowsource to avoid an error
        If Sheet2.Range("T7").Value = "" Then
            lstLookup.RowSource = ""
        Else
    'add range to rowsource if range has values
            lstLookup.RowSource = "Filter_Staff"
        End If
    'error block
        On Error GoTo 0
        Exit Sub
    errHandler::
        MsgBox "An Error has Occurred  " & vbCrLf & "The error number is:  " _
               & Err.Number & vbCrLf & Err.Description & vbCrLf & _
               "Please notify the administrator"
    End Sub

  2. #2
    Membre Expert

    Homme Profil pro
    développeur
    Inscrit en
    Octobre 2013
    Messages
    1 587
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : développeur

    Informations forums :
    Inscription : Octobre 2013
    Messages : 1 587
    Par défaut
    Bonjour, la doc est assez explicite je pense https://msdn.microsoft.com/fr-fr/lib.../ff838835.aspx .

  3. #3
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2016
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Bâtiment

    Informations forums :
    Inscription : Janvier 2016
    Messages : 4
    Par défaut Problème de Date
    Merci Kevin
    Mais j'ai vu ce tuto et je n'arrive pas à l'insérer dans ma formule.
    Quand je lance mon userform1 la formule :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    .Range("P7").Value = "=""<""&TODAY()" & "+" & Due
                .Range("O7").Value = "=" & ">""&TODAY()"
    s'insère dans mon fichier excel en français et ça plante systématiquement. Je crois que le signe ">" avec la formule .Formula"=Today()" Bug.
    Mon niveau est débutant et je n'arrive pas pourtant cela fait des heures que j'essaye. Peux tu me dire comment je pourrais le positionner dans mon code?

    merci d'avance.

    Mike

  4. #4
    Membre Expert

    Homme Profil pro
    développeur
    Inscrit en
    Octobre 2013
    Messages
    1 587
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : développeur

    Informations forums :
    Inscription : Octobre 2013
    Messages : 1 587
    Par défaut
    Dans ta formule il-y ni aurait pas un problème de concaténation? logiquement t1&""&t2 par exemple

  5. #5
    Expert confirmé
    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
    Par défaut
    Bonjour,

    Les signes < et > ne servent à rien pourquoi sont ils là ? Je verrai plutôt ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    .Range("P7").Formula = "=TODAY()+" & Due

  6. #6
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2016
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Bâtiment

    Informations forums :
    Inscription : Janvier 2016
    Messages : 4
    Par défaut Problème de date
    Merci Kévin et merci theze mais toujours pas.
    Il se trouve que mon outil fonctionne comme un reminder de tâches. Le reste du code indique que si je rentre une fréquence donnée soit par exemple quels sont les événements en retard de plus de 3 jours?
    Alors l'outil regarde les événements qui sont dans ma base de donnees en fonction de s'ils sont antérieurs ou postérieurs à la date du jour (pour connaître les retards).
    Soit case 1:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     .Range ("O7").Value="=""<"&TODAY ()"
    En fonction des actions en retard déterminées par "O7", la cellule 2 reprend <today () et y ajoute de combien de jours de plus que la date d'aujourd'hui nous sommes en retard. Soit
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    .Range("P7").Value="="">""&TODAY ()"
    Le problème est que ces fonctions marchent bien mais quand elles arrivent sur mon fichier base de données, Excel retraite "="">""&AUJOURDHUI ()" et me donne >42376 qui n'est pas un format date.
    Bref j'aimerai introduire formula dans mes requêtes mais j'ai essayé
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    .Range("P7").Select
    .Range ("P7").Formula="="">""&TODAY ()"
    Et

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    .Range ("P7").Value.Formula=.Range("P7")="="">""&TODAY ()"
    Aucune des deux formules fontionnent.
    Voilà j'ai besoin d'aide et j'espère que cette explication est plus clair.
    Merci d'avance.
    Mike

Discussions similaires

  1. Problème de date dans requête de màj imbriquée
    Par VirginieGE dans le forum Langage SQL
    Réponses: 11
    Dernier message: 20/07/2004, 15h34
  2. problème de date
    Par baboune dans le forum PostgreSQL
    Réponses: 8
    Dernier message: 10/06/2004, 10h52
  3. Problème de date dans MONTHS_BETWEEN
    Par ghostlord79 dans le forum Oracle
    Réponses: 10
    Dernier message: 07/04/2004, 11h21
  4. Problème conversion date
    Par mat.M dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 30/03/2004, 15h05
  5. Encore un probléme de date avec TADO !
    Par bNoureddine dans le forum Bases de données
    Réponses: 2
    Dernier message: 22/02/2004, 18h22

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