Copie de lignes sous condition vers classeur fermé

  • Initiateur de la discussion Initiateur de la discussion heparti
  • 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 !

heparti

XLDnaute Occasionnel
Bonjour,

Je parcours depuis longtemps ce site/forum que j'adore et je fais appel à nouveau à vos compétences.

En effet, je souhaite copier des lignes sous condition vers un fichier fermé se trouvant dans le même répertoire

La condition est que si la cellule de la colonne 9 contient "2013", elle soit recopiée vers le classeur nommé "copie.xls".

L'idéal serait que l'exécution de la macro se fasse pas appui sur un bouton visible sur chaque feuille du classeur "récapitulatifs IND.xls"

Avec la macro existante et présente dans le fichier "récapitulatifs IND.xls", j'arrive à faire la copie mais uniquement vers une feuille du même classeur.

Chaque classeur est en pièce jointe.

Merci pour votre aide.
 

Pièces jointes

Re : Copie de lignes sous condition vers classeur fermé

Bonjour

écrire dans une feuille ou dans un classeur n'a pas grand chose à voir avec le fait d'écrire dans un classeur fermé.
Si tu tiens mordicus à ne pas ouvrir ce classeur (pourquoi ne pas l'ouvrir par macro, écrire pûis le refermer toujours par macro ?) alors inspire toi de ceci
Ce lien n'existe plus
mais ce n'est pas très simple.
 
Re : Copie de lignes sous condition vers classeur fermé

Je suis tout à fait pour l'ouverture du second fichier par le biais d'une macro.

La macro présente dans le premier fichier peut être supprimée, c'était simplement un exemple de ce que j'avais pu faire, sans parvenir à ouvrir un fichier fermé pour transférer les lignes.
 
Re : Copie de lignes sous condition vers classeur fermé

Alors essaie ce code

Code:
Sub copiesauvegarde()
Dim ClassDep As Workbook
Dim ClassArr As Workbook
Dim i As Integer
Dim k As Integer
Dim L As Integer

Set ClassDep = ThisWorkbook
Set ClassArr = Workbooks.Open(Filename:="classeur1.xlsx") 'là il faut que tu indiques le chemin du classeur et son nom, ou 'seulement son nom si il est dans le même dossier que le classeur contenant la macro

With ClassDep.Sheets("IND")
k = .Range("A1").End(xlDown).Row
    For L = 2 To k
        If Year(.Range("I" & L).Value2) = 2013 Then
            i = i + 1
            .Range("A" & L, .Range("P" & L)).Copy _
            Destination:=ClassArr.Sheets("feuil1").Range("A" & i)
        End If
    Next
End With
ClassArr.Close True
End Sub
 
Re : Copie de lignes sous condition vers classeur fermé

Oui il te suffit d'aller dans le menu développeur/contrôles/insérer et tu chosis un bouton dans la rubrique contrôle activeX
Tu l'insères dans ta feuille (tu peux modifier son aspect, le texte dessus)
quand tu cliques dessus, dans le module de la feuille ou il se trouve cela crée une macro vide
il te suffit d'ajouter dans cette macro l'appel à copiesauvegarde

Code:
Private Sub CommandButton1_Click()
copiesauvegarde
End Sub

en cliquant sur ce bouton cela lancera la macro.
 
- 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

Discussions similaires

Réponses
3
Affichages
536
Retour