Excel vba copier des feuilles
Résolu/Fermé
Beeloobop
Messages postés
63
Date d'inscription
jeudi 11 février 2010
Statut
Membre
Dernière intervention
4 décembre 2010
-
19 août 2010 à 16:28
Beeloobop Messages postés 63 Date d'inscription jeudi 11 février 2010 Statut Membre Dernière intervention 4 décembre 2010 - 20 août 2010 à 10:41
Beeloobop Messages postés 63 Date d'inscription jeudi 11 février 2010 Statut Membre Dernière intervention 4 décembre 2010 - 20 août 2010 à 10:41
A voir également:
- Excel - vba copier feuille et renommer
- Si et excel - Guide
- Feuille de pointage excel - Télécharger - Tableur
- Word et excel gratuit - Guide
- Liste déroulante excel - Guide
- Renommer plusieurs fichiers en même temps - Guide
1 réponse
gbinforme
Messages postés
14946
Date d'inscription
lundi 18 octobre 2004
Statut
Contributeur
Dernière intervention
24 juin 2020
4 713
19 août 2010 à 23:39
19 août 2010 à 23:39
bonjour
En évitant de faire les "select" de données, tu devrais être plus rapide.
En utilisant "Select Case" c'est plus simple pour paramétrer les feuilles non concernées.
Lorsque tu définis tes variables lignes pense à mettre "long" car integer est limité à 32 767.
Je te propose de modifier ainsi et de voir si cela fonctionne chez toi :
En évitant de faire les "select" de données, tu devrais être plus rapide.
En utilisant "Select Case" c'est plus simple pour paramétrer les feuilles non concernées.
Lorsque tu définis tes variables lignes pense à mettre "long" car integer est limité à 32 767.
Je te propose de modifier ainsi et de voir si cela fonctionne chez toi :
Public Sub copie() Dim feuille As Worksheet, Lg As Long, Lg2 As Long For Each feuille In Worksheets Select Case feuille.Name Case "0 Utilisateur", "1 Base de données", "2 Modèle", "3Outils" Case Else Lg = feuille.Range("H65536").End(3).Row Lg2 = Sheets("1 Base de données").Range("A65536").End(3).Row + 1 feuille.Range("A7:H" & Lg).Copy Sheets("1 Base de données").Range("A" & Lg2).PasteSpecial _ Paste:=xlPasteValues, Operation:=xlNone, _ SkipBlanks:=False, Transpose:=False End Select Next feuille End Sub
Modifié par Beeloobop le 20/08/2010 à 11:07
ça fonctionne parfaitement et c'est vrai que ton écriture allège le code :)
Mais j'aime comprendre! Pourrais-tu me dire à quoi sert "Case" ? ça donne quoi comme information? ça effectue quoi comme action?
Merci!