Faire apparaître le strict nécessaire dans une nouvelle feuille

Bonjour à tous,

Voilà mon problème:

J'ai une feuille d'analyse de risque que je dois faire en fonction de mes différents chantiers or quand je l'imprime cela me fait un dossier d'environs une vingtaine de pages.

Ce que je souhaite, dans la "feuil1" j'ai mon dossier complet correspondant à tous les risques que je peux trouver sur mon chantier trier par thème (comme l'exemple mis en pièce jointe) et faire apparaître en "feuil2" seulement les cases cochées de la colonne "OUI"

Merci pour votre aide.

Mal_Leclerc

7test.xlsx (9.62 Ko)

Bonjour,

voici un exemple,

Sub test()
Set sh1 = Sheets("Feuil1")
Set sh2 = Sheets("Feuil2")
rw1 = sh1.Cells(Rows.Count, "A").End(xlUp).Row

Worksheets("Feuil2").Range("A3:F30").ClearContents

For i = 3 To rw1
    If Left(sh1.Cells(i, "A"), 3) = "Dom" Or sh1.Cells(i, "C") = "X" Then
        rw2 = sh2.Cells(Rows.Count, "A").End(xlUp).Row + 1
        sh1.Range("A" & i & ":G" & i).Copy sh2.Cells(rw2, "A")
    End If
Next i
    Range("A3:A14").Select
End Sub

Proposition de suppression des anciennes cellules à chaque nouveau lancement de la macro. Cela évite d'incrémenter les lignes indéfiniment.

Bien cordialement,

AP

Bonjour,

Merci i20100 c'est exactement ce que je cherchais à faire sauf que j'utilisais des formules qui me mettait tout dans le désordre.

Merci MPETIT si je comprends bien je dois ajouter à la macro existante ce la formule que tu as mis dans le message précédent.

Je me renseigne si cela convient à ma hiérarchie et je solde le sujet.

Cordialement.

Mal_Leclerc

Bonjour Mal_Leclerc, i20100, le forum,

Rajoute juste cette ligne de code là, si cela te convient bien évidement,

Worksheets("Feuil2").Range("A3:F30").ClearContents

, dans la macro de i20100.

Bien cordialement,

AP

Rajoute juste cette ligne de code là, si cela te convient bien évidement,

Worksheets("Feuil2").Range("A3:F30").ClearContents

, dans la macro de i20100.

re,

pour effacer les lignes existantes sur l'onglet Feuil2, en début de code:

sh2.Range("A3:F" & sh2.Cells(Rows.Count, "A").End(xlUp).Row).ClearContents

Cela a plu à ma hiérarchie ! C'est super !

OK je rajoute tout ça je fais ma mise en page et ce sera impeccable.

Encore Merci de m'avoir répondu si rapidement et de façon très claire.

Bon courage !

Mal_Leclerc

re

Voilà ma ligne de code.

Sub Màj()
Set sh1 = Sheets("GRILLE DE TRAVAIL")
Set sh2 = Sheets("RESULTAT")
rw1 = sh1.Cells(Rows.Count, "A").End(xlUp).Row

sh2.Range("A6:F" & sh2.Cells(Rows.Count, "A").End(xlUp).Row).ClearContents

For i = 6 To rw1
    If Left(sh1.Cells(i, "A"), 6) = "vol" Or sh1.Cells(i, "B") = "X" Then
        rw2 = sh2.Cells(Rows.Count, "A").End(xlUp).Row + 1
        sh1.Range("A" & i & ":F" & i).Copy sh2.Cells(rw2, "A")
    End If
Next i
    Range("A6:A143").Select

End Sub

or j'ai un problème à cette ligne

sh1.Range("A" & i & ":F" & i).Copy sh2.Cells(rw2, "A")

Pourquoi?

Bonjour Mal_leclerc, le forum,

Comment se nomme l'erreur ? Re-vérifie tes colonnes (A,F, etc) inscrit dans tes lignes de codes (j'ai remarquer que tu as adapter le code de isa à ton fichier).

Bien cordialement,

AP

Bonjour à tous,

Bonjour Mal_leclerc, le forum,

Comment se nomme l'erreur ? Re-vérifie tes colonnes (A,F, etc) inscrit dans tes lignes de codes (j'ai remarquer que tu as adapter le code de isa à ton fichier).

Bien cordialement,

AP

En effet j'ai adapté la formule de isa pour mon tableau excel définitif. Sauf que il est beaucoup plus grand que l'exemple que j'ai fait et commence un peu plus bas à cause d'un cartouche type "entreprise". Donc en coordonnée mon tableau, sans les entête de colonne et le cartouche, fait A6 : F143 en taille.

Sinon pour l'erreur en résumé il me mettait qu'il n'arrivait pas à coller en feuil2 ("Résultat" pour ici). Je n'ai pas réussie à reproduire l'erreur sur mon fichier test mais je n'ai plus la mention des volets qui apparaît

4test.xlsx (15.41 Ko)
Rechercher des sujets similaires à "apparaitre strict necessaire nouvelle feuille"