VBA - Problème de Code : Objet requis / Sauter des lignes avec condition

Bonjour à tous,

Je souhaiterais pouvoir insérer dans les colonnes A et E de ma page résultat, les noms de ma liste dans l'onglet Data ; et ce en fonction de leur statut (Data!G:G).

L'objectif étant de déterminer qui est revenu et qui n'est pas revenu afin que les formules de mes autres colonnes aillent chercher le reste des informations.

Le premier problème que je rencontre est qu'utiliser une formule pour remplir les colonnes A et E m'obligerais, avec les connaissances Excel dont je dispose, à afficher de nombreuses lignes vides (ce qui est problématique car mon fichier source comporte des milliers de noms donc potentiellement des milliers de lignes vides ).

Le second problème que je rencontre, est que lorsque je tente d'utiliser le code d'AFEH issu de ce topic "Fonction SI sauter la ligne si faux" qui traite d'un sujet similaire. J'obtiens l'erreur suivante : "Erreur d'exécution '424': Objet requis".

Voici le Code en question que je me suis permis de modifier pour les besoins de mon fichier :

Sub Essai1 ()
    Dim i%, Derligne As Long
    Resultat.Range("A5:A100").ClearContents
        Derligne = Resultat.Range("A" & Rows.Count).End(xlUp).Row + 1

    With Data
        For i = 4 To 23
        If .Range("g" & i) = "Pas de Retour" Then
            .Range("A" & i).Copy Destination:=Resultat.Range("A" & Derligne)
            Derligne = Derligne + 1
        End If
        Next i
    End With

End Sub

Sub Essai2 ()
    Dim i%, Derligne As Long
    Resultat.Range("E5:E100").ClearContents
        Derligne = Resultat.Range("E" & Rows.Count).End(xlUp).Row + 1

    With Data
        For i = 4 To 23
        If .Range("g" & i) = "Retour" Then
            .Range("A" & i).Copy Destination:=Resultat.Range("A" & Derligne)
            Derligne = Derligne + 1
        End If
        Next i
    End With

End Sub

Je dois avouer que mes compétences en VBA sont très basiques et je ne comprends pas pourquoi cela ne fonctionne pas.

14file1.xlsm (25.35 Ko)

Quelle est, ou quelles sont, les erreurs de mon code qui l'empêchent de fonctionner comme je le souhaite ?

En vous remerciant d'avance de votre aide,

Ayu1

bonsoir,

tes macros corrigées

Sub Essai1()
    Dim i%, Derligne As Long
    Set resultat = Sheets("resultat") '<--- correction
    Set Data = Sheets("data") '<--- correction
    resultat.Range("A5:A100").ClearContents
    Derligne = resultat.Range("A" & Rows.Count).End(xlUp).Row + 1

    With Data
        For i = 2 To 23 '<--- correction
            If .Range("g" & i) = "Pas de retour" Then '<--- correction
                .Range("A" & i).Copy Destination:=resultat.Range("A" & Derligne)
                Derligne = Derligne + 1
            End If
        Next i
    End With

End Sub
Sub Essai2()
    Dim i%, Derligne As Long
    Set resultat = Sheets("resultat") '<--- correction
    Set Data = Sheets("data") '<--- correction
    resultat.Range("E5:E100").ClearContents
    Derligne = resultat.Range("E" & Rows.Count).End(xlUp).Row + 1

    With Data
        For i = 2 To 23 '<--- correction
            If .Range("g" & i) = "Retour" Then
                .Range("A" & i).Copy Destination:=resultat.Range("E" & Derligne) '<--- correction
                Derligne = Derligne + 1
            End If
        Next i
    End With

End Sub

Bonsoir à tous,

Un autre type de code? Cliquer sur le bouton Hop! Le code est dans module1.

Bonsoir,

Merci à vous deux pour vos solutions qui correspondent exactement à ce dont j'ai besoin !

Bien cordialement,

Ayu1

Rechercher des sujets similaires à "vba probleme code objet requis sauter lignes condition"