Copier puis supprimer des données d'une feuille suivant condition

  • Initiateur de la discussion Initiateur de la discussion Graziella44
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

G

Graziella44

Guest
Bonjour à tous 🙂

Ne connaissant presque rien en VBA je fais appelle à vos connaissances.

Mon objectif est de copier dans une feuille "STOCK" les données de la feuille "COMMANDE" (colonnes A B C) répondant à la condition "Oui" de la colonne ACHAT, à la suite des autres données évidemment. Puis de supprimer les lignes "Oui" afin qu'il ne reste que les lignes non dans la feuille "COMMANDE".

Je vous joins un fichier zip

Merci d'avance

Grazi
 

Pièces jointes

Re : Copier puis supprimer des données d'une feuille suivant condition

bonjour,
voir le classeur joint
la macro est relativement simpliste mais accessible à un(e) débutant(e).
je peux ajouter des commentaires si besoin, me dire.
bye
 

Pièces jointes

Re : Copier puis supprimer des données d'une feuille suivant condition

Bonjour,

J'ai nommé "Achat" l'ensemble de la colonne D.

Voilà ma proposition :

Code:
Sub Cop()
    Dim Cellule As Range, Ligne As Long, LigneLibre As Long
 
    'Recherche de la ligne disponible sur Stock
    '------------------------------------------
    Sheets("Stock").Select
    Set Cellule = Range("A65536").End(xlUp)
    LigneLibre = Cellule.Row + 1
 
    'Analyse des commandes
    '---------------------
    Sheets("COMMANDE").Select
 
    For Each Cellule In Range("Achat")
        Ligne = Ligne + 1
        If Cells(Ligne, 4) = "Oui" Then
 
            Sheets("STOCK").Cells(LigneLibre, 1) = Cells(Ligne, 1)
            Sheets("STOCK").Cells(LigneLibre, 2) = Cells(Ligne, 2)
            Sheets("STOCK").Cells(LigneLibre, 3) = Cells(Ligne, 3)
            LigneLibre = LigneLibre + 1
 
        End If
    Next
 
End Sub

et le fichier attaché.

Ne faudrait-il pas remettre à non les commandes, une fois la copie faite ? En effet, si tu lances plusieurs fois la macro, les inscriptions dans la feuille STOCK se feront plusieurs fois !
 

Pièces jointes

Dernière édition:
Re : Copier puis supprimer des données d'une feuille suivant condition

Bonjour 🙂

Merci à vous deux pour ces réponses rapides.

En fait je vais retenir la solution de Dixit qui me va parfaitement puisque les lignes "oui" sont éffacées après la copie dans la feuille "STOCK" ce qui évite les doublons ou de renommer les lignes "oui" en "non".

Il ne me reste plus qu'à essayer de comprendre le code 🙄

Merci encore

A bientôt

Grazi
 
Re : Copier puis supprimer des données d'une feuille suivant condition

Bonjour,

Pour mettre la ligne à non, il n'y a qu'une ligne à ajouter :

Code:
Sub Cop()
    Dim Cellule As Range, Ligne As Long, LigneLibre As Long
 
    'Recherche de la ligne disponible sur Stock
    '------------------------------------------
    Sheets("Stock").Select
    Set Cellule = Range("A65536").End(xlUp)
    LigneLibre = Cellule.Row + 1
 
    'Analyse des commandes
    '---------------------
    Sheets("COMMANDE").Select
 
    For Each Cellule In Range("Achat")
        Ligne = Ligne + 1
        
        If Cells(Ligne, 4) = "Oui" Then
            [COLOR=red]Cells(Ligne, 4) = "Non"
[/COLOR]            Sheets("STOCK").Cells(LigneLibre, 1) = Cells(Ligne, 1)
            Sheets("STOCK").Cells(LigneLibre, 2) = Cells(Ligne, 2)
            Sheets("STOCK").Cells(LigneLibre, 3) = Cells(Ligne, 3)
            LigneLibre = LigneLibre + 1
        End If
 
    Next
End Sub
 

Pièces jointes

Dernière édition:
Re : Copier puis supprimer des données d'une feuille suivant condition

re
voici une version avec commentaires dans la macro
(j'ai supprimé la ligne
Application.CutCopyMode = False
qui traînait dans la version précédente sans utilité)
 

Pièces jointes

- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
16
Affichages
580
Retour