Petit soucis avec vba

Résolu/Fermé
greg - 14 juin 2012 à 09:10
 greg - 14 juin 2012 à 10:52
Bonjour,

alors voila mon problème, qui peut sembler tout bête mais je ne trouve pas la réponse.
dans excel je souhaite copier des colonnes vers un autre classeur. mais voila, je dois d'abord rechercher le numéro de cette colonne puis le nombre de lignes total à copier car je dois m'arrêter avant la fin (certaines ne doivent pas être copier).

jusque la j'ai le numéro de la colonne et de la dernière ligne dans deux variables différentes. Ma façon de procéder est de copier les lignes une par une, mais cette procédure est extrêmement longue (car nombre de lignes importantes...)

et je ne trouve pas le moyen de délimiter le nombre de ligne max en utilisant mes variables pour tout copier d'une seule traite... quelqu'un peut il m'éclairer svp?





petite question annexe sans trop d'importance, mais
je crée un TCD via vba et j'ai bien la ligne:
With ActiveSheet.PivotTables("Tableau croisé dynamique9").PivotFields("en %")
.NumberFormat = "0,00%"
sauf que quand je lance la macro le résultat est en 00% et pas en 0,00? ><
une idée?


merci!

5 réponses

Christof422 Messages postés 867 Date d'inscription mardi 24 mai 2011 Statut Membre Dernière intervention 8 février 2015 212
Modifié par Christof422 le 14/06/2012 à 09:57
     
dim colonne as integer    
dim ligne as integer    
dim derniereligne as integer   

ligne=1  
colonne=2  
derniereligne=21  

Range(cells(ligne,colonne), cells(derniereligne,colonne).Copy 



A remplacer par les bonnes variables.


Le premier pas vers la solution est la recherche. Notre ami Google connaît sûrement la solution...
1
Christof422 Messages postés 867 Date d'inscription mardi 24 mai 2011 Statut Membre Dernière intervention 8 février 2015 212
Modifié par Christof422 le 14/06/2012 à 09:38
Bonjour,


Dim nombre As Integer

nombre = 21
chemin = "mettre le chemin du nouveau fichier"

'Sélection et copie de la plage de cellule 
Range("A1", "A" & nombre).Copy
'Ouverture du nouveau classeur
Workbooks.Open (chemin)
'Sélection de la première cellule ou va être copié la plage 
Cells(1, 2).Select 
'Collage de la sélection 
ActiveSheet.Paste 



Le premier pas vers la solution est la recherche. Notre ami Google connaît sûrement la solution...
0
merci!
mais j'entendais par la que la plage à copier doit être défini par les variables et non pas arbitrairement. c'est la ou je sèche...
0
merci beaucou! je test sa de suite mais sa m'a l'air simplement niquel (je m'en veux de pas l'avoir trouvé, je n'ai pas pensé aux cells à l'intérieur de range)

sinon une idée concernant ma question sur les % dans mon TCD?
0
Christof422 Messages postés 867 Date d'inscription mardi 24 mai 2011 Statut Membre Dernière intervention 8 février 2015 212
14 juin 2012 à 10:08
En faisant l'enregistrement de macro de excel:

Selection.NumberFormat = "0.00%"


Il faut peut être remplacer, dans ta formule, la virgule par un point. (sans certitude)
0
le coup du point marche, merci!
c'est étrange que vba l'enregistre automatiquement par une virgule si il ne le prend pas en compte par la suite...
0
Christof422 Messages postés 867 Date d'inscription mardi 24 mai 2011 Statut Membre Dernière intervention 8 février 2015 212
14 juin 2012 à 10:30
Est ce que tous tes problèmes sont résolus?
0
ha oui ^^
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
j'ai repéré des failles dans excel au niveau de l'enregistrement automatique. déjà cette histoire de point et virgule.
dans un second temps le calcul des totaux des colonnes et lignes pour les TCD, il m'a inversé les deux lors de l'enregistrement (décoché le total ligne mais c'est elle qui apparait)
enfin c'est juste une remarque ^^
0