Copier des valeurs en liste en fonction du contenu

Bonjour,

J'ai un fichier excel qui me permet de définir la masse volumique d'un melange de gaz en fonction du pourcentage des gaz présents

J'aimerais bien que sur une autre feuille (Feuil2 du fichier exemple) ne soit copié que la liste des gaz qui contiennent une valeur > 0 dans la colonne C pour connaitre la composition du gaz (inutile de copier toute la liste des gaz, juste ceux qui sont présent).

La seule solution que je vois, mais qui ne me correspond pas, c'est de marquer dans les cellules de la feuille 2 le contenu de la cellule (voir fichier exemple Feuil2)

J'ai cherché mais je n'ai pas trouvé.

(J'ai mis des explications de ce que j'aimerais dans le fichier exemple, Feuil2)

Merci pour votre aide

Bonjour ElectricDandy le forum

voilà ton fichier en retour, si tu as fini de composer ton gaz feuil1 tu cliques Feuil2 et tu auras ton récap

a+

papou

Bonjour

..et, par formules

Cordialement

Un grand merci à vous deux !!! Vraiment !

C'est parfaitement ce que je voulais. Je pense que je vais utiliser le code VBA, mais merci aussi Amadeus, ça me servira plus tard j'en suis sur, je ne pensais pas que c'était aussi possible par formule. Grâce à vous deux j'ai appris des choses

Merci merci, et encore chapeau de répondre aussi rapidement

En fait, j'aurais une autre question. Enfin plutot deux.

Je débute vraiment en VBA

J'ai pris la solution de "paritec", seulement j'ai deux problèmes :

- 1) je n'arrive pas à coller la liste de composition des gaz à partir de la ligne 20 de la feuille 2 (exemple : A20). Dans mon cas, la liste se copie dans la cellule A2. je ne sais pas comment faire vu qu'au lieu du numero de ligne il y a "rows.count". La cellule cible est la même que la cellule source. j'ai essayé de bidouiller un peu le code, mais j'ai échoué

Option Explicit

Sub recap()
    Dim i&, fin&
    Feuil2.Cells.Clear
    With Feuil1
        fin = .Range("A" & Rows.Count).End(xlUp).Row
        For i = 2 To fin
            If .Cells(i, 3) <> 0 Then
            .Range(.Cells(i, 1), .Cells(i, 3)).Copy Feuil2.Range("A" & Rows.Count).End(xlUp).Offset(1, 0)
            End If
        Next i
    End With
    Feuil2.Range("A" & Rows.Count).End(xlUp).Offset(1, 2) = Application.WorksheetFunction.Sum(Feuil2.Range("C2:C" & Feuil2.Range("A" & Rows.Count).End(xlUp).Row))
End Sub

-2) serait il possible de ne supprimer que la liste des gaz ? au lieu de supprimer toute la feuille ? car j'ai d'autres informations sur cette feuille.

Par exemple quand on quitte la feuille, la liste de gaz qui vient d'être collée est supprimée, et on réaffiche quand on réactive la feuille ?

Merci

Rechercher des sujets similaires à "copier valeurs liste fonction contenu"