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 :

Erreur dans la déclaration de tableau [XL-2010]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Analyse système
    Inscrit en
    Septembre 2016
    Messages
    93
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Brésil

    Informations professionnelles :
    Activité : Analyse système
    Secteur : Biens de consommation

    Informations forums :
    Inscription : Septembre 2016
    Messages : 93
    Par défaut Erreur dans la déclaration de tableau
    Salut les amis, bonsoir!
    J'essaie de développer une fiche de travail sur la réservation de véhicules

    mais j'ai trouvé difficile de créer une matrice dans le forum ci-dessous, cela donne des erreurs
    de variable non définie "Jr_Feries", merci de vous aider de quelqu'un, suivez le code ci-dessous., merci à tous ceux qui peuvent m'aider.


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Option Explicit
     
    Public Date_calendar As String
    Public ChoixDate As Date
    Public Txt_dt As Integer
    Public USF As Object
    Public Date_initiale As String
    Public dt0 As Date

    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
    ' ** http://excel.developpez.com/faq/index.php?page=Form#UFnoTitle ********************************
    Public Type RECT
            Left As Long
            Top As Long
            Right As Long
            Bottom As Long
    End Type
     
    Const GWL_STYLE = (-16)
    Const WS_CAPTION = &HC00000
    Const SWP_FRAMECHANGED = &H20
     
    #If VBA7 Then
        Public Declare PtrSafe Function FindWindowA Lib "user32" _
            (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
     
        Public Declare PtrSafe Function GetWindowRect Lib "user32" _
            (ByVal hwnd As Long, lpRect As RECT) As Long
     
        Public Declare PtrSafe Function GetWindowLong Lib "user32" Alias _
            "GetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long) As Long
     
        Public Declare PtrSafe Function SetWindowLong Lib "user32" Alias _
            "SetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long, _
            ByVal dwNewLong As Long) As Long
     
        Public Declare PtrSafe Function SetWindowPos Lib "user32" _
            (ByVal hwnd As Long, ByVal hWndInsertAfter As Long, ByVal X As Long, _
            ByVal Y As Long, ByVal cx As Long, ByVal cy As Long, _
            ByVal wFlags As Long) As Long
    #Else
        Public Declare Function FindWindowA Lib "user32" _
            (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
     
        Public Declare Function GetWindowRect Lib "user32" _
            (ByVal hwnd As Long, lpRect As RECT) As Long
     
        Public Declare Function GetWindowLong Lib "user32" Alias _
            "GetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long) As Long
     
        Public Declare Function SetWindowLong Lib "user32" Alias _
            "SetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long, _
            ByVal dwNewLong As Long) As Long
     
        Public Declare Function SetWindowPos Lib "user32" _
            (ByVal hwnd As Long, ByVal hWndInsertAfter As Long, ByVal X As Long, _
            ByVal Y As Long, ByVal cx As Long, ByVal cy As Long, _
            ByVal wFlags As Long) As Long
    #End If

    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
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    Sub Affiche(oUSF As Object, oControl As String, Optional oFrame As String)
    Dim T As Single, L As Single
     
        If Not oFrame = "" Then
            T = oUSF.Controls(oFrame).Top + 17
            L = oUSF.Controls(oFrame).Left
        End If
     
        Set USF = oUSF
        Date_initiale = oUSF.Controls(oControl).Value
        Txt_dt = Replace(oUSF.Controls(oControl).Name, "TextBox", "")
     
        With Calendrier
            .Top = oUSF.Top + T + oUSF.Controls(oControl).Top _
                   + oUSF.Controls(oControl).Height * 2 + 3
            .Left = oUSF.Left + L + oUSF.Controls(oControl).Left
            .Show
        End With
    End Sub
     
    Sub init_Feries(Annee As Integer)
    Dim d0 As Date, i As Integer
     
        Jr_Feries = Array("Premier de l'An", "Pâques", "Lundi de Pâques", "Fête du Travail", _
             "Victoire 1945", "Ascension", "Pentecôte", "Lundi de Pentecôte", "Fête Nationale", _
             "Assomption", "Toussaint", "Armistice", "Noël", "Premier de l'An", "Pâques", _
             "Lundi de Pâques", "Fête du Travail", "Victoire 1945", "Ascension", "Pentecôte", _
             "Lundi de Pentecôte", "Fête Nationale", "Assomption", "Toussaint", "Armistice", "Noël")
     
        Dt_Feries(0) = DateSerial(Annee, 1, 1)
        d0 = DateSerial(Annee, 4, ((234 - 11 * (Annee Mod 19)) Mod 30))
        i = (d0 - DateSerial(1899, 12, 31)) / 7
        Dt_Feries(1) = CDate(Math.Round(i) * 7 - 6)
        Dt_Feries(2) = DateAdd("d", 1, Dt_Feries(1))
        Dt_Feries(3) = DateSerial(Annee, 5, 1)
        Dt_Feries(4) = DateSerial(Annee, 5, 8)
        Dt_Feries(5) = DateAdd("d", 39, Dt_Feries(1))
        Dt_Feries(6) = DateAdd("d", 49, Dt_Feries(1))
        Dt_Feries(7) = DateAdd("d", 1, Dt_Feries(6))
        Dt_Feries(8) = DateSerial(Annee, 7, 14)
        Dt_Feries(9) = DateSerial(Annee, 8, 15)
        Dt_Feries(10) = DateSerial(Annee, 11, 1)
        Dt_Feries(11) = DateSerial(Annee, 11, 11)
        Dt_Feries(12) = DateSerial(Annee, 12, 25)
     
        Dt_Feries(13) = DateSerial(Annee + 1, 1, 1)
        d0 = DateSerial(Annee + 1, 4, ((234 - 11 * ((Annee + 1) Mod 19)) Mod 30))
        i = (d0 - DateSerial(1899, 12, 31)) / 7
        Dt_Feries(14) = CDate(Math.Round(i) * 7 - 6)
        Dt_Feries(15) = DateAdd("d", 1, Dt_Feries(14))
        Dt_Feries(16) = DateSerial(Annee, 5, 1)
        Dt_Feries(17) = DateSerial(Annee, 5, 8)
        Dt_Feries(18) = DateAdd("d", 39, Dt_Feries(14))
        Dt_Feries(19) = DateAdd("d", 49, Dt_Feries(14))
        Dt_Feries(20) = DateAdd("d", 1, Dt_Feries(19))
        Dt_Feries(21) = DateSerial(Annee + 1, 7, 14)
        Dt_Feries(22) = DateSerial(Annee + 1, 8, 15)
        Dt_Feries(23) = DateSerial(Annee + 1, 11, 1)
        Dt_Feries(24) = DateSerial(Annee + 1, 11, 11)
        Dt_Feries(25) = DateSerial(Annee + 1, 12, 25)
    End Sub
     
     
    Function Est_Ferie(dt As Date)
    Dim i As Byte
        Est_Ferie = False
        For i = 0 To UBound(Dt_Feries)
            If dt = Dt_Feries(i) Then
                Est_Ferie = True
                idx_ferie = i
            End If
        Next i
    End Function

  2. #2
    Expert confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2013
    Messages
    3 609
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

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

    Informations forums :
    Inscription : Mai 2013
    Messages : 3 609
    Par défaut
    Bonjour,

    Où as-tu déclaré tes variables tableaux Jr_Feries et Dt_Feries et de quelle façon ?

  3. #3
    Membre confirmé
    Homme Profil pro
    Analyse système
    Inscrit en
    Septembre 2016
    Messages
    93
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Brésil

    Informations professionnelles :
    Activité : Analyse système
    Secteur : Biens de consommation

    Informations forums :
    Inscription : Septembre 2016
    Messages : 93
    Par défaut
    Bonjour!

    se produit l'erreur de variable non définie dans le "Dtferies et jrFeries.", en fait ne pouvait pas déclarer de la manière correcte, pourrait me guider en fait est un tableau.

  4. #4
    Expert confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2013
    Messages
    3 609
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

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

    Informations forums :
    Inscription : Mai 2013
    Messages : 3 609
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
        Dim Jr_Feries As Variant
        Dim Dt_Feries(25) 'S'il y a toujours 25 (ou 26) items. Autrement voir l'aide pour Redim et Redim Preserve
     
        Jr_Feries = Array("Premier de l'An", "Pâques", "Lundi de Pâques", "Fête du Travail", _
             "Victoire 1945", "Ascension", "Pentecôte", "Lundi de Pentecôte", "Fête Nationale", _
             "Assomption", "Toussaint", "Armistice", "Noël", "Premier de l'An", "Pâques", _
             "Lundi de Pâques", "Fête du Travail", "Victoire 1945", "Ascension", "Pentecôte", _
             "Lundi de Pentecôte", "Fête Nationale", "Assomption", "Toussaint", "Armistice", "Noël")

  5. #5
    Membre confirmé
    Homme Profil pro
    Analyse système
    Inscrit en
    Septembre 2016
    Messages
    93
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Brésil

    Informations professionnelles :
    Activité : Analyse système
    Secteur : Biens de consommation

    Informations forums :
    Inscription : Septembre 2016
    Messages : 93
    Par défaut Erreur dans la déclaration de tableau
    Je vais tester et je vais vous donner un retour, merci.

  6. #6
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    13 171
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 13 171
    Billets dans le blog
    53
    Philippe Tulliez
    Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau)
    Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter
    Mes tutoriels : Utilisation de l'assistant « Insertion de fonction », Les filtres avancés ou élaborés dans Excel
    Mon dernier billet : Utilisation de la fonction Dir en VBA pour vérifier l'existence d'un fichier

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

Discussions similaires

  1. erreur dans la déclaration?
    Par mator dans le forum Débuter
    Réponses: 13
    Dernier message: 07/06/2012, 20h03
  2. erreur de syntaxe dans la déclaration du tableau ou de la fonction
    Par une_tite_question dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 23/08/2010, 17h23
  3. erreur dans la déclaration d'une fonction
    Par batoule80 dans le forum Débuter
    Réponses: 1
    Dernier message: 03/03/2010, 19h29
  4. Des erreurs dans la déclaration d'une enum
    Par moooona dans le forum Langage
    Réponses: 4
    Dernier message: 28/05/2008, 04h33
  5. Erreur dans la déclaration d'un curseur
    Par adam57 dans le forum Forms
    Réponses: 10
    Dernier message: 24/04/2008, 17h35

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