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 :

Type d'argument ByRef incompatible


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé Avatar de Adel31
    Homme Profil pro
    Consultant ERP
    Inscrit en
    Février 2016
    Messages
    57
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Consultant ERP
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2016
    Messages : 57
    Par défaut Type d'argument ByRef incompatible
    L’exécution du code suivant :
    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
    Sub removeEmptyLines()
        For lineIndex = 0 To UBound(inputData)
            If inputData(lineIndex).fsf <> "" Then
                GoTo ContinueFor
            ElseIf inputData(lineIndex).plantState <> "" Then
                GoTo ContinueFor
            ElseIf inputData(lineIndex).plantLevelSafetyFunction <> "" Then
                GoTo ContinueFor
            ElseIf inputData(lineIndex).lowerLeverSafetyFunction <> "" Then
                GoTo ContinueFor
            ElseIf inputData(lineIndex).lineOfDefence <> "" Then
                GoTo ContinueFor
            ElseIf inputData(lineIndex).additionalInformation <> "" Then
                GoTo ContinueFor
            ElseIf inputData(lineIndex).categoryAndCriterion <> "" Then
                GoTo ContinueFor
            ElseIf inputData(lineIndex).safetyFunctionType <> "" Then
                GoTo ContinueFor
            ElseIf inputData(lineIndex).safetyFeatureGroup <> "" Then
                GoTo ContinueFor
            ElseIf inputData(lineIndex).safetyFeatureLabel <> "" Then
                GoTo ContinueFor
            ElseIf inputData(lineIndex).safetyFeatureDesignation <> "" Then
                GoTo ContinueFor
            ElseIf inputData(lineIndex).frontlineOrSupportSF <> "" Then
                GoTo ContinueFor
            ElseIf inputData(lineIndex).sfClass <> "" Then
                GoTo ContinueFor
            ElseIf inputData(lineIndex).sfActuationMode <> "" Then
                GoTo ContinueFor
            ElseIf inputData(lineIndex).sfActuationSignal <> "" Then
                GoTo ContinueFor
            ElseIf inputData(lineIndex).hbsc <> "" Then
                GoTo ContinueFor
            ElseIf inputData(lineIndex).robustnessAgainstSFC <> "" Then
                GoTo ContinueFor
            ElseIf inputData(lineIndex).physicalSeparation <> "" Then
                GoTo ContinueFor
            ElseIf inputData(lineIndex).robustnessAgainstLOOP <> "" Then
                GoTo ContinueFor
            ElseIf inputData(lineIndex).robustnessAgainstSBO <> "" Then
                GoTo ContinueFor
            ElseIf inputData(lineIndex).robustnessAgainstEarthquake <> "" Then
                GoTo ContinueFor
            ElseIf inputData(lineIndex).qualificationForAccidentCondition <> "" Then
                GoTo ContinueFor
            ElseIf inputData(lineIndex).labelForICAndOperabilityTraceability <> "" Then
                GoTo ContinueFor
            ElseIf inputData(lineIndex).Comments <> "" Then
                GoTo ContinueFor
            ElseIf inputData(lineIndex).reference <> "" Then
                GoTo ContinueFor
            Else
                inputData = RemoveIndexedItemFromList(inputData, lineIndex)
     
            End If
    ContinueFor:
        Next lineIndex
    End Sub
    J'ai u ce message :

    Erreur de compilation
    Type d'argument ByRef incompatible


    Je suis débutant et je comprend pas d’où viens le problème.

    Merci d'avance

  2. #2
    Expert confirmé Avatar de BENNASR
    Homme Profil pro
    Responsable comptable & financier
    Inscrit en
    Décembre 2013
    Messages
    2 974
    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 974
    Par défaut
    bonsoir Mr ADEL la forum
    aussi débutant mais je crois que tu utilise une fonction personnalisée pour insérer ou supprimer des lignes : donc tu dois afficher aussi cette fonction.
    Si tu explique qu'est ce que tu cherches à faire avec ton code?? supprimer des lignes vides ou quoi?? peut être y a une autre chemin plus courte.
    BONNE CONTINUATION

  3. #3
    Membre confirmé Avatar de Adel31
    Homme Profil pro
    Consultant ERP
    Inscrit en
    Février 2016
    Messages
    57
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Consultant ERP
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2016
    Messages : 57
    Par défaut
    Bonsoir Mr BENNASR,

    Merci pour la réponse, oui je souhaite supprimer les lignes vides.

    Merci d'avance.

  4. #4
    Expert confirmé Avatar de Patrice740
    Homme Profil pro
    Retraité
    Inscrit en
    Mars 2007
    Messages
    2 478
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Mars 2007
    Messages : 2 478
    Par défaut
    Citation Envoyé par BENNASR Voir le message
    aussi débutant mais je crois que tu utilise une fonction personnalisée pour insérer ou supprimer des lignes : donc tu dois afficher aussi cette fonction.
    Citation Envoyé par Adel31 Voir le message
    Merci pour la réponse, oui je souhaite supprimer les lignes vides.
    Bonjour,

    Tu ne réponds pas à la question !
    Mais avant de publier le code, commences par écrire :
    Au début du module, puis corriges les erreurs signalées à l'exécution.

  5. #5
    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 176
    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 176
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    Tu dis vouloir supprimer des lignes vides alors que tu effectues plusieurs tests. Pourrais-tu nous éclairer ?
    Petite remarque : Mis à part dans la détection d'erreur où l'on n'a pas le choix, les Goto sont à proscrire.
    Pour supprimer des lignes, on commence par la dernière et on remonte à l'aide d'une boucle.
    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

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