Import certaines cellules d'une ligne vers une autre feuille

Bonjour à tous,

Je suis nouveau sur ce site et novice en vba et j'essaye de créer une macro qui permettra d'importer dans la feuille "Récap_Adhérents" les adhérents de la feuille "Adhérents" ayant repris leur licence de l'année X , en sélectionnant l'année corrospondante via "Inputbox" (par exemple 2014).

Je souhaitais remplacer la ligne 10 par la ligne 11, mais j'ai un msg d'erreur. D'autre part, dès que la macro rencontre une ligne vide elle n'importe plus les autres lignes. Voir le fichier joint

merci d'avance pour votre aide.

Voici ci-dessous le code que j'utilise.

1 Sub Copie()

2 'déclaration des variables :

3 Dim ligne As Long, i As Integer, Choix As String

4 Sheets("Adhérents").Select

5 Application.ScreenUpdating = False

6 Worksheets("Récap_Adhérents").Range("a4:a1000").ClearContents

7 ligne = 3

8 Choix = InputBox(" Entrez l'année en cours)", "Importation des adhérents"

9 Sheets("Récap_Adhérents").Cells(1, 5).Value = Choix

10 Do While Cells(ligne, 1).Value <> "" And Cells(ligne, 8).Value = 1

11' Do While Cells(ligne, 1).Value <> "" And Cells(ligne, Choix).Value = 1 'Cette ligne me provoque un erreur 13 : Incompatibilité de type[/b][/b]

12 Cells(ligne, 1).Value = Cells(ligne, 1).Value

13 Sheets("Récap_Adhérents").Cells(ligne, 1).Value = Cells(ligne, 1).Value

14 ligne = ligne + 1

14 Loop

15 End Sub

Bonjour

Déjà, cette ligne contient une erreur de syntaxe

8 Choix = InputBox(" Entrez l'année en cours)", "Importation des adhérents"

la correction est

8 Choix = InputBox(" Entrez l'année en cours", "Importation des adhérents" )

ensuite, la signature numérique nous empêche toute modification.

Cordialement

Merci pour votre réponse rapide.

pour la ligne 8, j'ai fait une fausse maneouvre qui à supprimé la parenthèse.

Quant à la signature numérique, voici le fichier sans la signature.

Avec toutes mes excuses.

Daniel

107gestion-club-sauv.zip (49.53 Ko)

Bonjour,

proposition de moodifs de ton code.

Sub Copie()
    With Sheets("Adhérents")
        Application.ScreenUpdating = False
        Worksheets("Récap_Adhérents").Range("a4:a1000").ClearContents
        ligne = 3
        lrecap = 2
        Choix = InputBox("  Entrez l'année en cours)", "Importation des adhérents")    'choix de l'année
        Sheets("Récap_Adhérents").Cells(1, 5).Value = Choix
' recherche de la colonne correspondant au choix
        Set re = .Rows("2:2").Find(Choix, lookat:=xlWhole)
        If Not re Is Nothing Then
            Do While .Cells(ligne, 1).Value <> "" ' tant qu'il y a des adhérents (nom en colonne 1)
                If .Cells(ligne, re.Column).Value = 1 Then ' si 1 dans la colonne de l'année choisie
                lrecap = lrecap + 1
                    Sheets("Récap_Adhérents").Cells(lrecap, 1).Value = .Cells(ligne, 1).Value 'nom
                    Sheets("Récap_Adhérents").Cells(lrecap, 2).Value = .Cells(ligne, 2).Value ' prénom
                End If
                ligne = ligne + 1
            Loop
        Else
            MsgBox "Année non trouvée"
        End If
    End With
End Sub

Bonsoir,

Merci beaucoup, cela fonctionne à merveille.

Maintenant, il me reste à décripter le code pour comprendre, car j'essaie d'apprendre VBA pas moi même, mais ce n'est pas évident.

Encore merci à H2So4

Daniel

Rechercher des sujets similaires à "import certaines ligne feuille"