Extraction d'une plage de données sélectionnées dans une autre feuille

Bonjour,

Je suis entrain de faire un tableau pour la gestion de maintenance. J'ai un morceau de code qui permet dans la prévision de cochées avec une croix ce qui sera à planifier. Je cherche à extraire les lignes cochées dans une autres feuilles mais je sèche...

Voici mon code:

Sub CreerExtraction()

   Dim ilig As Integer 'compteur de ligne
   Dim iExtract As Integer 'ligne de mon tableau dans mon autre feuille
   nbAction = CompterAction 'compteur pour connaitre la taille de mon tableau
   lig = 3 'début de mon tableau feuille 1
   Extract = 2 'début de mon tableau feuille 2

    For i = 3 To nbAction + 3
        If IsEmpty(Sheets("PDM").Cells(lig, 10)) = False Then 'si pour la ligne en question la colonne est coché "X" je veux copié cette ligne dans la feuille 2
        Sheets("PDM").Range("A" & ilig & ":I" & ilig).Copy Sheets("ExtractionPDM").Cells(Extract) (PROBLEME ICI)
        ilig = ilig + 1
        iExtract = iExtract + 1
        End If

    Next

End Sub

Merci beaucoup pour votre aide

Bonjour,

Voici un premier essai d'extraction des lignes cochées de PDM vers la feuille ExtractionPDM :

Sub CreerExtraction()

with Sheets("PDM")
    dl = .cells(.rows.count, "J").end(xlup).row 'dernière ligne en colonne J (adapter colonne le cas échéant)
    t = .range("A3:J" & dl).value 'tableau en memoire alimenté par les valeurs de la plage A3:Jdl
    For i = lbound(t) to ubound(t) 'pour chaque ligne du tableau
        If t(i, 10) = "X" Then 'si la valeur en colonne 10 vaut "X"
            n = n + 1 'incrémentation de n (nombre de valeurs à extraire)
            for k = 1 to 9 'pour chaque colonne de 1 à 9
                t(n, k) = t(i, k) 'l'item n prend valeurs de l'item i en cours (permet de tasser les valeurs à retenir en bas du tableau)
            next k
        end if
    next i
end with

if n = 0 then msgbox "aucune correspondance", 16: exit sub 'si 0 match, sortie avec msg

with Sheets("ExtractionPDM") 'sur feuille extrac
    .Cells(2, 1).resize(n, 9).value = t 'B2 retaillée à n lignes (nb valeurs extract) et à 9 colonnes recoit valeurs de t
end with

End Sub

Il y aura peut-être quelques précisions à apporter sur la restitution des données (pour l'instant collées en B2, sans tenir compte des données pré-existantes).

Cdlt,

Impressionnant, c'est super.

Maintenant va falloir que j'arrive à tout bien comprendre ^^

Merci beaucoup

J'ai ajouté des commentaires au cas où...

Pour l'instant, la restitution est pas terrible. Que voudriez-vous faire ? Mettre les données à la suite ou remplacer les données ? Pour l'instant, le collage écrase les données sans effacer les anciennes.

C'est bon c'est parfait,

Si vous voulez j'ai une grosse base de zone de maintenance et le but était d'extraire celle à faire selon le choix avec le clic.

Donc avec votre code tout fonctionne, j'ai juste modifier deux trois choses et mis en forme pour mon usage.

Merci encore

Ok, je n'insiste pas alors. Et si jamais, vous savez où me trouver^^.

Bonne continuation et bonne journée !

Cdlt,

Rechercher des sujets similaires à "extraction plage donnees selectionnees feuille"