For Each Feuille In ActiveWorkbook.Worksheets 'Parcourt toutes les feuilles
If Feuille.Name <> PremiereFeuille.Name Then 'copie le contenu de chaque feuille sauf la première
Feuille.UsedRange.Copy
PremiereFeuille.Paste Destination:=PremiereFeuille.Range("A" & PremiereFeuille.UsedRange.Rows.Count + 1)
End If
Next
Après certaines copies (une feuille avec des images et une cellule fusionnée), PremiereFeuille.UsedRange.Rows.Count ne retourne pas la bonne valeur. Avez-vous rencontré ce problème ?
Par avance, je vous remercie de vos réponses.
A bientôt
Guy Marty
PS : pour contourner ce problème j'ai remplacé "UsedRange.Rows.Count" par "UsedRange.SpecialCells(xlCellTypeLastCell).Row"
For Each Feuille In ActiveWorkbook.Worksheets 'Parcourt toutes les feuilles
If Feuille.Name <> PremiereFeuille.Name Then 'copie le contenu de chaque feuille sauf la première
Feuille.UsedRange.Copy
PremiereFeuille.Paste Destination:=PremiereFeuille.Range("A" & PremiereFeuille.UsedRange.Rows.Count + 1)
End If
Next
Après certaines copies (une feuille avec des images et une cellule fusionnée), PremiereFeuille.UsedRange.Rows.Count ne retourne pas la bonne valeur. Avez-vous rencontré ce problème ?
Par avance, je vous remercie de vos réponses.
A bientôt
Guy Marty
PS : pour contourner ce problème j'ai remplacé "UsedRange.Rows.Count" par "UsedRange.SpecialCells(xlCellTypeLastCell).Row"
Bonjour Modeste geedee,
Donc cela veut-il dire que "Feuille.UsedRange.Copy" ne copie pas nécessairement toutes les cellules de la feuille ?
A bientôt
Guy
Je ne saurai, l'affirmer... ???
Mais "Bydesign" Excel se contente-t-il dans ce cas de ne copier que la plage dans laquelle une cellule a été modifiée ???
à tester :
sur une feuille vierge accéder à la cellule IV12345
1 - saisir un texte quelconque, effacer ce texte
UsedRange .Select
noter le résultat
Workbook.save
UsedRange.select
noter le résultat
2 - saisir un texte quelconque, Changer la couleur de police, effacer ce texte
UsedRange .Select
noter le résultat
Workbook.save
UsedRange.select
noter le résultat
Supprimer la cellule
Workbook.save
Usedrange.select
Noter le résultat