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

noemie45

XLDnaute Occasionnel
Bonjour
voila j'essaye de copier coller une selction dans un autre fichier excel. mais j'ai 2 pb dans ma macro.
Le 1er est lié a excel 2010, pour le collage à la 1ere ligne vide, j'ai remplacé

Range("A" & Range("A65536").End(xlUp).Row + 1).Select
par
Range("A" & Rows.Count.End(xlUp).Row + 1).Select
Mais il y aun truc qui ne fonctionne pas!!!!

Le 2eme est que ma macro plante à la dernière ligne
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False

Merci de me dépatouiller!!

Voici le detail de ma macro


Sub MAJ_ANOMALIE2()
Dim DLig As Long


With Sheets("transaction")

'filtre sur des lignes qui une croix
.ListObjects("Tableau1").Range.AutoFilter Field:=18, Criteria1:= _
"<>"
'copie de la selection de la ligne 2 à la dernière ligne non vide
DLig = .Range("A" & Rows.Count).End(xlUp).Row
.Range("A2:I" & DLig + 1, "M2:N" & DLig + 1).Select
Selection.Copy
End With

'deselction du filtre
Sheets("transaction").ListObjects("Tableau1").Range.AutoFilter Field:=18

'ouverture du fichier de destination
Workbooks.Open Filename:="S😛rocess contrôle\Saisie anomalie.xlsm"

'collage de la selection sur la 1er ligne vide
Sheets("bal").Range("A" & Rows.Count.End(xlUp).Row + 1).Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
 
Re : bug dans ma macro

re

non testé :

Code:
With Sheets("transaction")

  'filtre sur des lignes qui une croix
...
  'copie de la selection de la ligne 2 à la dernière ligne non vide
... 
monfichier = activewindow.caption

'ouverture du fichier de destination
...
'collage
...

monfichier1=activewindow.caption

windows (monfichier).activate
'désélection filtrage
...
windows(monfichier1).activate
'retour sur fichier1
 
Re : bug dans ma macro

bonjour à tous,

tu peux essayer ça ?

Code:
Sub MAJ_ANOMALIE2()

Dim DLig As Long
Dim FBase As Worksheets
Dim FActive As Worksheet

Workbooks.Open Filename:="Srocess contrôle\Saisie anomalie.xlsm"

Set FBase = Sheets("bal")

With thisworkbooks.Sheets("transaction")
    'filtre sur des lignes qui une croix
    .ListObjects("Tableau1").Range.AutoFilter Field:=18, Criteria1:="<>"
    'copie de la selection de la ligne 2 à la dernière ligne non vide
    DLig = .Range("A" & Rows.Count).End(xlUp).Row
    Range("A" & Rows.Count.End(xlUp).Row + 1).Value = .Range("A2:I" & DLig + 1, "M2:N" & DLig + 1).Value
    .ListObjects("Tableau1").Range.AutoFilter Field:=18
End With

à+
 
Re : bug dans ma macro

merci la solution d'Eric fonctionne.

j'ai encore une autre petite question et après j'arrete.
Comment je peux gèrer le fait qu'il se peut que mon fichier ou je viens coller les données (fichiers saisies des anomalies" ) est dèja ouvert?
 
Re : bug dans ma macro

tu mets :

Code:
dim Fichier as string
dim Wb as Workbook

Fichier ="Srocess contrôle\Saisie anomalie.xlsm" '=> il faut le chemin complet
On Error Resume Next
   Set Wb = Workbooks("Saisie anomalie.xlsm")
If Err <> 0 Then Workbooks.Open Filename:=Fichier, UpdateLinks:=1
 
- 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
10
Affichages
547
Réponses
18
Affichages
315
Réponses
2
Affichages
281
Réponses
17
Affichages
1 K
Retour