Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Excel > Macros et VBA Excel
Macros et VBA Excel Vos questions relatives aux macros Excel, à l'utilisation de VBA et à l'automatisation de vos classeurs Excel.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 14/11/2011, 16h57   #1
Futur Membre du Club
 
cedric
Inscription : novembre 2008
Messages : 43
Détails du profil
Informations personnelles :
Nom : cedric

Informations forums :
Inscription : novembre 2008
Messages : 43
Points : 17
Points : 17
Par défaut Copie colle d'onglets 3 en 1 qui bloque

Bonjour,
Je voudrais copier 3 onglets et les mettre les uns a la siuite des autres dans un autre onglet. Mon code ne marche pas erreur grossiere de synthaxe je pense vue mon niveau
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
 
Sub Bouton1_Clic()
 Dim sh As Worksheet
 Dim sh2 As Worksheet
 Dim sh3 As Worksheet
 Dim sh4 As Worksheet
 
 Dim LastLig As Long
 Dim LastLig2 As Long
 Dim LastLig3 As Long
    Set sh = Worksheets("shad")
    Set sh2 = Worksheets("phys")
    Set sh3 = Worksheets("swap")
    Set sh4 = Worksheets("Base")
 
    LastLig = sh.Cells(sh.Rows.Count, "A").End(xlUp).Row
    sh4.Range(A1) = sh.Range("A1:BB" & LastLig)
    LastLig2 = sh2.Cells(sh2.Rows.Count, "A").End(xlUp).Row
    sh4.Range("A" & LastLig + 1) = sh.Range("A2:BB" & LastLig2)
    LastLig3 = sh3.Cells(sh3.Rows.Count, "A").End(xlUp).Row
    sh4.Range("A" & LastLig2 + 1) = sh.Range("A2:BB" & LastLig3)
 
 
End Sub
Pourriez vous m'aider ?
Merci
octane est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/11/2011, 17h25   #2
Membre Expert
 
Avatar de ZebreLoup
 
Homme Sebastien L
Ingénieur Financier
Inscription : mars 2010
Messages : 869
Détails du profil
Informations personnelles :
Nom : Homme Sebastien L
Âge : 33
Localisation : France, Val de Marne (Île de France)

Informations professionnelles :
Activité : Ingénieur Financier
Secteur : Finance

Informations forums :
Inscription : mars 2010
Messages : 869
Points : 1 837
Points : 1 837
Je vois que A1 n'est pas entre guillemets à la ligne 17. C'était ça ?
Et dans les sh.cells, je ne suis pas sûr que la "A" fonctionne. Tu peux mettre 1 à la place.(EDIT : Si, le "A" fonctionne. Je ne l'avais jamais fait tiens)
ZebreLoup est actuellement connecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/11/2011, 17h45   #3
Futur Membre du Club
 
cedric
Inscription : novembre 2008
Messages : 43
Détails du profil
Informations personnelles :
Nom : cedric

Informations forums :
Inscription : novembre 2008
Messages : 43
Points : 17
Points : 17
la A fonctionne mais pas le 1.
J'ai corrigé les "" manquants mais cela ne fait toujours rien. Pas d'erreur de synthaxe mais rien n'est copié comme si la macro ne faisait rien
octane est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/11/2011, 18h03   #4
Membre Expert
 
Avatar de ZebreLoup
 
Homme Sebastien L
Ingénieur Financier
Inscription : mars 2010
Messages : 869
Détails du profil
Informations personnelles :
Nom : Homme Sebastien L
Âge : 33
Localisation : France, Val de Marne (Île de France)

Informations professionnelles :
Activité : Ingénieur Financier
Secteur : Finance

Informations forums :
Inscription : mars 2010
Messages : 869
Points : 1 837
Points : 1 837
Essaie avec ça :
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
Sub Bouton1_Clic()
    Dim sh As Worksheet
    Dim sh2 As Worksheet
    Dim sh3 As Worksheet
    Dim sh4 As Worksheet
    Dim t As Variant
 
    Dim LastLig As Long
    Dim LastLig2 As Long
    Dim LastLig3 As Long
 
    Set sh = Worksheets("shad")
    Set sh2 = Worksheets("phys")
    Set sh3 = Worksheets("swap")
    Set sh4 = Worksheets("Base")
 
    LastLig = sh.Cells(sh.Rows.Count, "A").End(xlUp).Row
    t = sh.Range("A1:BB" & LastLig)
    sh4.Range("A1:BB" & LastLig) = t
 
    LastLig2 = sh2.Cells(sh2.Rows.Count, "A").End(xlUp).Row
    t = sh2.Range("A2:BB" & LastLig2)
    sh4.Range("A" & LastLig + 1 & ":BB" & LastLig + LastLig2 - 1) = t
 
    LastLig3 = sh3.Cells(sh3.Rows.Count, "A").End(xlUp).Row
    t = sh3.Range("A2:BB" & LastLig3)
    sh4.Range("A" & LastLig + LastLig2 & ":BB" & LastLig + LastLig2 + LastLig3 - 2) = t
End Sub
ZebreLoup est actuellement connecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/11/2011, 18h04   #5
Expert Confirmé
 
Homme Philippe
ex Observeur CGG / Analyste prog.
Inscription : juin 2006
Messages : 1 708
Détails du profil
Informations personnelles :
Nom : Homme Philippe
Localisation : France, Finistère (Bretagne)

Informations professionnelles :
Activité : ex Observeur CGG / Analyste prog.

Informations forums :
Inscription : juin 2006
Messages : 1 708
Points : 3 633
Points : 3 633
Salut, voir et adapter http://www.developpez.net/forums/d11...uille-feuille/
__________________
Pensez à Voter, d'avance merci. ( Pouces en bas à la droite de Citer )
Balisez votre code après l'avoir indenté sous Excel via Smart Indenter
Autre utilitaire : MZ Tools 3.0 VBA

Contribution : Excel / Word / PDF avec Adobe Acrobat Pro / PDFCreator 1 2
kiki29 est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 14/11/2011, 18h58   #6
Futur Membre du Club
 
cedric
Inscription : novembre 2008
Messages : 43
Détails du profil
Informations personnelles :
Nom : cedric

Informations forums :
Inscription : novembre 2008
Messages : 43
Points : 17
Points : 17
Merci beaucoupv ZEbreloup ta solution marche
j'espere que le reste du code ira mieux pour moi
octane est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/11/2011, 10h17   #7
Membre Expert
 
Avatar de ZebreLoup
 
Homme Sebastien L
Ingénieur Financier
Inscription : mars 2010
Messages : 869
Détails du profil
Informations personnelles :
Nom : Homme Sebastien L
Âge : 33
Localisation : France, Val de Marne (Île de France)

Informations professionnelles :
Activité : Ingénieur Financier
Secteur : Finance

Informations forums :
Inscription : mars 2010
Messages : 869
Points : 1 837
Points : 1 837
J'avoue que je ne sais pas exactement pourquoi le passage par un variant est indispensable ici.

Mais d'une manière générale pour tes futurs développements, n'hésite pas à prendre l'habitude de le faire dès que les plages font plus de 10 cellules et qu'il y a un peu de calcul, ça accélère vraiment énormément les traitements, que ce soit quand on récupère des valeurs ou qu'on en écrit.
ZebreLoup est actuellement connecté   Envoyer un message privé Réponse avec citation 10
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 09h42.


 
 
 
 
Partenaires

Hébergement Web