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 438 sur code VBA


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Superviseur de Hotline
    Inscrit en
    Décembre 2013
    Messages
    28
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Superviseur de Hotline
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Décembre 2013
    Messages : 28
    Par défaut erreur 438 sur code VBA
    Bonjour,

    Pouvez vous m'aider, j'ai une erreur 438 sur ce code, ça bloque à la ligne en rouge:

    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
    Sub ENGTS_INTERNE_HEBDO_GLOBAL()
    
    Dim NoSemaine, Rs, I As Integer, J As Integer, C As Range, Plage As Range, col
    Dim Sh As Worksheet
    Dim Ws As Worksheet
    Dim DebSem As String
    Dim FindSem
    Dim FindJour As Range
    
    NoSemaine = Sheets("ACCUEIL").Range("E18")
    DebSem = Format(Sheets("ACCUEIL").Range("E20").Value, "dd/mm/yyyy")
    
    'ATL PRO Global
    
    Set Ws = ActiveWorkbook.Sheets("PRO_ENG_QUOTI")
    Set Sh = ActiveWorkbook.Sheets("PRO_ENG_HEBDO")
    
    With Ws
            Set FindJour = .Range("C46", "ND86").Find(What:=DebSem, After:=ActiveCell, LookIn:=xlValues, _
                 LookAt:=xlWhole, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
                 MatchCase:=False, SearchFormat:=False)
            col = FindJour.Column
    End With
    
            Set Plage = Range(Cells(46, col), Cells(46, col + 6))
    
    With Sh.Rows(45)
    Set FindSem = .Find(NoSemaine, , xlValues, xlWhole, xlByColumns)
    End With
    
    With Ws
        For Each C In Plage
            
            For J = 47 To 48
            
            'MsgBox Plage.Address
            MsgBox Sh.Cells(J, FindSem.Column).Address
            MsgBox Ws.Cells(J, C.Column).Value
    
               Sh.Cells(J, FindSem.Columnn) = Sh.Cells(J, FindSem.Columnn) + Ws.Cells(J, C.Column).Value
    
            Next J
       
        Next C
    
    End With
    
    
    End Sub

  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,

    Si tu mets un point d'arrêt sur cette ligne, que valent les différentes variables ?

  3. #3
    Membre Expert Avatar de Thautheme
    Homme Profil pro
    salarié
    Inscrit en
    Août 2014
    Messages
    1 373
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : salarié

    Informations forums :
    Inscription : Août 2014
    Messages : 1 373
    Par défaut
    Bonsoir Gamack, Parmi, bonsoir le forum,

    D'accord avec Parmi, il faut regarder la valeur des variables !
    J'ai d'abord pensé qu'aucune occurrence de NoSemaine avait été trouvée dans la ligne 45 de l'onglet Sh, mais dans ce cas c'est d'abord la ligne 37 qui aurait planté, la variable FindSem étant vide :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    MsgBox Sh.Cells(J, FindSem.Column).Address
    C'est pourtant la seule variable qui peut poser problème, J et C (donc C.Column) étant normalement fiables..
    Essaie de coder comme ça pour en avoir le cœur net (j'ai supprimé le xlByColumns puisque tu recherches dans une ligne...) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    With Sh.Rows(45)
        Set FindSem = .Find(NoSemaine, , xlValues, xlWhole)
    End With
    If FindSem Is Nothing Then MsgBox "Données inexistante !": Exit Sub

  4. #4
    Membre Expert
    Homme Profil pro
    retraité
    Inscrit en
    Mars 2013
    Messages
    885
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2013
    Messages : 885
    Par défaut erreur 438
    bonjour,

    Et si on enlevait un "n" à columnn ?

    Cordialement,

  5. #5
    Membre Expert Avatar de Thautheme
    Homme Profil pro
    salarié
    Inscrit en
    Août 2014
    Messages
    1 373
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : salarié

    Informations forums :
    Inscription : Août 2014
    Messages : 1 373
    Par défaut
    Bonjour le fil, bonjour le forum,

    Arf... ! Nibledispo est le illeurmé... Quelle honte pour moi !

  6. #6
    Membre averti
    Homme Profil pro
    Superviseur de Hotline
    Inscrit en
    Décembre 2013
    Messages
    28
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Superviseur de Hotline
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Décembre 2013
    Messages : 28
    Par défaut
    arf le boulet que je fais,

    J'étais en train de refaire ma macro avec la methode match car je croyais que la méthode .find mettait le bord....

    et j'avais toujours la même erreur!!

    Merci nibledispo!!!!!

    faut que je prennes du repos

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

Discussions similaires

  1. [AC-2010] Erreur sur Code VBA pour enregistrement d'un document publiposté word
    Par AudREN dans le forum VBA Access
    Réponses: 3
    Dernier message: 25/09/2014, 13h22
  2. [AC-2002] Erreur 91 sur code VBA
    Par volganne dans le forum VBA Access
    Réponses: 6
    Dernier message: 02/09/2010, 14h03
  3. Erreur dans un code VBA
    Par steevassie dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 19/12/2007, 20h26
  4. [VBA]Conseil sur code VBA
    Par mat67000 dans le forum VBA Access
    Réponses: 15
    Dernier message: 22/03/2007, 11h23
  5. mot de passe sur code VBA
    Par Cupidon dans le forum VBA Access
    Réponses: 4
    Dernier message: 07/02/2007, 15h05

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