Macro qui copie une cellule non vide dans une autre feuille

Bonjour à tous,

Dans le fichier joint j'ai des macros qui copie suivant des conditions de jours dans une feuille adhoc.

Par contre je n'arrive pas à lui faire faire une copie sur une cellule non vide d'une colonne. Je voudrais donc, quand je double clic sur appareil envoyé en étalonnage, que la macro copie toutes les lignes de la liste générale qui contiennent une dates dans la colonne envoyé en étalonnage (je dirai même pas une date mais si la cellule n'est pas vide il l'a copie) et l'intègre dans la feuille Envoyé en etalonnage.

Pour les autres macro, on m'a aidé, et j'ai compris comment bosser avec la fonction Const mais je n'arrive pas à trouver la fonction pour l'autre macro.

Vous avez une idée? Un tout grand merci à tous

Bonjour,

bonjour le forum,

une proposition, macro à mettre dans le code de la feuille "envoyé étalonnage"

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
    Dim dl As Long
    dl = Cells(Rows.Count, 1).End(xlUp).Row
    Range("A1:N" & dl).ClearContents
    With Sheets("liste générale")
        .Cells.AutoFilter
        dl = .Cells(Rows.Count, 1).End(xlUp).Row
        With .Range("$A$1:$P$" & dl)
            .AutoFilter
            .AutoFilter Field:=12, Criteria1:="<>"
            .Copy Sheets("Envoyé Etalonnage").Range("A1")
            .AutoFilter
        End With
    End With
End Sub

Bonjour H2SO4,

Petite demande en plus, pourrais-tu m'expliquer la macro, ceci afin de mieux la comprendre et d'évoluer même si je comprend une grande partie.

Un tout grand merci d'avance et passe une très bonne journée

David

bonjour,

bonjour le forum,

j'ai ajouté quelques commentaires dans le code

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
'procédure événementielle qui se déclenche lors d'un double-clic sur la feuille à laquelle cette macro est attachée
    Dim dl As Long 'dl derniere ligne utilisée
    dl = Cells(Rows.Count, 1).End(xlUp).Row 'dl sur envoyé etalonnage
    Range("A1:N" & dl).ClearContents 'on efface le contenu de la feuille envoyé etalonnage
    With Sheets("liste générale") 'tous les objets qui commencent par un . feront référence à liste générale
        .Cells.AutoFilter 'on enlève les filtres s'il y en avait
        dl = .Cells(Rows.Count, 1).End(xlUp).Row 'dl sur liste générale
        With .Range("$A$1:$P$" & dl) 'on définit la plage de cellules sur laquelle on va travailler
            .AutoFilter Field:=12, Criteria1:="<>" 'on sélectionne tout ce qui n'est pas "" en colonne 12
            .Copy Sheets("Envoyé Etalonnage").Range("A1") 'on copie la sélection vers la feuille envoyé etalonnage
            .AutoFilter 'on supprime les filtres
        End With
    End With
End Sub

Hello tous,

J'ai essayé d'intégrer la macro mais elle refuse de fonctionner. Qu'est ce qui n'est pas bon?

Où fais-je une erreur?

merci pour votre aide à tous.

David

Bonjour Ddtec,

Bonjour Le forum,

je n'ai pas de problème avec ton fichier. La macro s'exécute bien lorsque tu fais un double-clic (gauche) sur la feuille "envoyé étalonnage"

voici le résultat

Rechercher des sujets similaires à "macro qui copie vide feuille"