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 argument dans fonction


Sujet :

Macros et VBA Excel

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2013
    Messages
    54
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2013
    Messages : 54
    Points : 34
    Points
    34
    Par défaut
    Bonjour,
    J'ai un problème lors de l'appel d'une fonction.
    La suivante est dans mon module 1 est sert à supprimer le contenu de la cellule active ainsi que les lignes correspondantes dans une autre fenêtre :

    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
     
    Sub Delete(ligcell As Integer, colcell As Integer)
     
        Dim ligdate As Integer
        Dim nom, ampm As String
        Dim dte As Date
     
        ActiveCell.ClearContents
        ligdate = ligcell
        If ActiveSheet.Cells(ligcell, 3).Value = "Matin" Then
            ampm = "Matin"
            nom = ActiveSheet.Cells(ligcell, 2).Value
        End If
        If ActiveSheet.Cells(ligcell, 3).Value = "Après Midi" Then
            ampm = "Après Midi"
            nom = ActiveSheet.Cells(ligcell - 1, 2).Value
        End If
        While ActiveSheet.Cells(ligdate, colcell).NumberFormat <> "d-mmm"
            ligdate = ligdate - 1
        Wend
        dte = ActiveSheet.Cells(ligdate, colcell).Value
     
        Dim i As Integer
        i = 6
        While Historik.Cells(i, 1) <> ""
            If Worksheets("Historik").Cells(i, 1).Value = dte And Worksheets("Historik").Cells(i, 2).Value = ampm And Worksheets("Historik").Cells(i, 5).Value = nom Then
                Worksheets("Historik").Cells(i, 1).EntireRow.Delete
            End If
            i = i + 1
        Wend
     
    End Sub
    Je l'appelle dans la fonction suivante :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
     
        If (ActiveCell.Borders(xlEdgeLeft).LineStyle = xlContinuous And ActiveCell.Borders(xlEdgeRight).LineStyle = xlContinuous And ActiveCell.Interior.Pattern = xlNone) Then
     
            Call Module1.Delete(ActiveCell.Row, ActiveCell.Column)
     
            Form_Eric.UserForm_Initialize
            Form_Eric.Show
     
        End If
     
    End Sub
    Et j'ai une erreur lors de l'exécution de cette dernière : "Argument non facultatif". Je ne comprends pas cette erreur sachant que j'ai bien mes arguments dans ma fonction. Et si je joue au barbare en écrivant l'intégralité de ma fonction delete dans mon autre fonction, cela fonctionne...
    Qu'est ce que je fais de travers ???
    Merci de votre aide

  2. #2
    Membre averti
    Homme Profil pro
    Responsable Maintenance
    Inscrit en
    Août 2012
    Messages
    478
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Responsable Maintenance

    Informations forums :
    Inscription : Août 2012
    Messages : 478
    Points : 442
    Points
    442
    Par défaut
    Hello

    Change le nom de ta fonction car delete est un mot réservé au langage.
    Du coup il se peut qu'il se plante appelle le Effacer par exemple.

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2013
    Messages
    54
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2013
    Messages : 54
    Points : 34
    Points
    34
    Par défaut Problème argument dans fonction
    Bonjour,
    J'ai suivi ton conseil mais ça n'a rien changé...
    Une autre idée à me proposer ???

  4. #4
    Membre expert
    Homme Profil pro
    Retraité
    Inscrit en
    Avril 2011
    Messages
    1 858
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Avril 2011
    Messages : 1 858
    Points : 3 974
    Points
    3 974
    Par défaut
    Bonjour,

    C'est quoi cette variable Historik ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    While Historik.Cells(i, 1) <> ""
    Cordialement.

  5. #5
    Membre expérimenté
    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
    Points : 1 499
    Points
    1 499
    Par défaut probleme argument fonction
    bonjour Flo1411,

    Je débute en VBA et ne peux pour l'heure apporter de réponse à ton problème.

    Par contre, je me demande si ton code répond parfaitement à ton besoin.

    En effet, si deux lignes qui se suivent appellent un effacement, que se passe t-il pour la seconde ?

    Imaginons que ces deux lignes en question soient 8 et 9.

    Avec I = 8, cette ligne sera bien effacée et ce faisant la ligne 9 deviendra 8.
    Dans le même temps I passera à 9 et la ligne 9 devenue 8 ne sera pas effacée.

    Me trompe-je ?

    cordialement,

Discussions similaires

  1. Problème argument de fonction
    Par Lordryder dans le forum Débuter
    Réponses: 19
    Dernier message: 10/08/2012, 17h38
  2. Problème tableau dans fonction
    Par bob45510 dans le forum Débuter
    Réponses: 1
    Dernier message: 22/10/2011, 11h37
  3. Problème doublon dans fonction select
    Par roman67 dans le forum SQL
    Réponses: 10
    Dernier message: 31/07/2008, 13h09
  4. Problème DML dans fonction
    Par Z3phur dans le forum SQL
    Réponses: 7
    Dernier message: 03/01/2008, 18h14
  5. pb argument dans fonction javascript
    Par martoune dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 25/07/2007, 15h19

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