Demande d´aide à détecter l´erreur dans le code

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

H

hasnaa1192

Guest
Bonsoir

Aidez moi à détecter l´erreur dans le code suivant ( qui sert un copier dans un nouveau fichier des données filtrées d´un autre fichier)

Sub testcopiage()

Rows("1:1").Select
Range("A1").Activate
Selection.AutoFilter

Selection.AutoFilter Field:=25, Criteria1:="euros"
Cells.Select
Range("A1").Activate
Selection.Copy
Windows("fichier cible.xls").Activate
Cells.Select
Range("A1").Activate

Selection.ClearContents
Cells.Select
Range("A1").Activate
Windows("fichier source.xls").Activate
Selection.Copy
Windows("fichier cible.xls").Activate
ActiveSheet.Paste

End Sub

un grand merci par avance
 
Re : Demande d´aide à détecter l´erreur dans le code

Bonsoir Hasnaa, bonsoir le forum,


C'est dommage que tu n'aies pas mis un fichier basé sur ton cas précis. J'ai recréé les conditions de ta macro, un fichier nommé fichier source.xls et un autre nommé fichier cible.xls. Les deux sont ouverts. Dans le premier j'ai placé des donnés avec une ligne d'étiquettes (titre1, titre2,..., titre28) et dans la colonne 25 (titre25) j'ai placé plusieur fois euros. Dans ces conditions, le code de ta macros fonctionne sans provoquer d'erreur. Toutefois je me permet de te proposer une simplification de celui-ci :

Code:
Sub testcopiage()
Windows("fichier cible.xls").Activate 'sélectionne le fichier cible
Cells.ClearContents 'efface le contenu de toutes les cellules
Windows("fichier source.xls").Activate 'sélectionne le fichier source
Range("A1").AutoFilter Field:=25, Criteria1:="euros" 'filtre la 25ème colonne avec "euros"comme critère
Range("A1").CurrentRegion.Copy 'copy la plage filtrée
Windows("fichier cible.xls").Activate 'sélectionne le fichier cible
Range("A1").Activate 'sélectionne la cellule A1
ActiveSheet.Paste 'colle la plage filtrée
End Sub

Mais comme tu n'indiques pas quelle est la ligne qui pose problème, il est difficile de pouvoir t'aider davantage.
 
Re : Demande d´aide à détecter l´erreur dans le code

Bonsoir,

Une option sans utiliser Windows :

Sub testcopiage()
Workbooks("fichier cible.xls").Sheets("Feuil1").Cells.ClearContents
With Workbooks("fichier source.xls").Sheets("Feuil1").Range("A1")
.AutoFilter Field:=25, Criteria1:="euros"
.CurrentRegion.Copy (Workbooks("fichier cible.xls").Sheets("Feuil1").Range("A1"))
End With
End Sub

ou

Sub testcopiage()
Workbooks("fichier cible.xls").ActiveSheet.Cells.ClearContents
With Workbooks("fichier source.xls").ActiveSheet.Range("A1")
.AutoFilter Field:=25, Criteria1:="euros"
.CurrentRegion.Copy (Workbooks("fichier cible.xls").ActiveSheet.Range("A1"))
End With
End Sub
 
- 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

D
Réponses
4
Affichages
1 K
L
Réponses
9
Affichages
1 K
G
Réponses
7
Affichages
1 K
gfgghbhg
G
R
Réponses
3
Affichages
4 K
R
Retour