recopier que des valeurs dans une feuille

recopier que des valeurs dans une feuille - VB/VBA/VBS - Programmation

Marsh Posté le 22-08-2006 à 16:06:38    

bjr,
 
Je dois recopier une feuille dans une autre feuille que je creer
 
ActiveWorkbook.Sheets.Add after:=Worksheets(Worksheets.Count)
ActiveSheet.Name = ("FF2" )
 
 
Je transfert mes données
 
Sheets("FF1" ).Select
Range("A1:a503" ).EntireRow.Select
Selection.Copy
Sheets("FF2" ).Select
Range("A1:a503" ).Select
ActiveSheet.Paste
 
Dans ce cas je transfert des valeurs et des formules
 
Je voudrais que tout soit des valeurs
 
Quelle est la syntaxe
 
Merci
 
 

Reply

Marsh Posté le 22-08-2006 à 16:06:38   

Reply

Marsh Posté le 22-08-2006 à 16:11:59    

remplace ActiveSheet.Paste par ActiveSheet.PasteSpecial Paste:=xlPasteValues

Reply

Marsh Posté le 22-08-2006 à 16:33:45    

ca ne fonctionne pas  
m'annonce erreur 1004
erreur definie par l'application ou l'objet

Reply

Marsh Posté le 22-08-2006 à 16:55:42    

attention
 
toutes Les données de cette feuille sont des valeurs repris dans d'autres feuilles
ex la cellule A1 = 'v1'!a1
 

Reply

Marsh Posté le 22-08-2006 à 17:04:22    

Bonjour,
 
Sheets("FF1" ).Range("A1:a503" ).EntireRow.Copy  
Sheets("FF2" ).Range("A1" ).PasteSpecial Paste:=xlPasteValues
 
A+

Reply

Marsh Posté le 22-08-2006 à 18:12:43    

Impeccable Merci pour le tuyau

Reply

Marsh Posté le 22-08-2006 à 18:19:29    

juste autre chose
 
Je voudrais prendre simplement que les lignes qui correspondent à un criteres dans ma colone d
 
voila ce que j'ai fait
l = 1
 
For i = 2 To 503
Sheets("FF2" ).Select
    Range("d" & i).Select
     
    If ActiveCell.Value = "1002" Then
 Range("a" & i).EntireRow.Select
        Selection.Copy
         Sheets("FF3" ).Select
        Range("A" & l).Select
        ActiveSheet.Paste
   
     l = l + 1
     
Else
  End If
    Next i
 
n'y a t'il pas plus simple et + rapide
 
merci

Reply

Marsh Posté le 22-08-2006 à 19:36:00    

Bonsoir,
 
Sub Test()
l = 1
For i = 2 To 503
If Sheets("FF2" ).Range("D" & i) = "1002" Then
Sheets("FF2" ).Rows(i).Copy Sheets("FF3" ).Range("A" & l)
l = l + 1
End If
Next i
End Sub
 
A+

Reply

Marsh Posté le 22-08-2006 à 20:59:54    

merci beaucoup de votre aide. Cela fonctionnne comme je veux

Reply

Marsh Posté le 22-08-2006 à 22:57:52    

juste encore deux petites choses
 
je veux selectionner la cellule a1 de ma feuil FF1 à la place de " 1002 "
dans ma recherche
 
Sheets("ff1" ).Select
nom = ActiveCell.Row
 
 
ca n'a pas l'air d'etre la bonne syntaxe et pourtant le curseur est bien dans la cellule
 
Ma Feuille FF2 est temporaire donc je l'elimine avec
 
Sheets("FF2" ).Delete
 
Mais la il m'envoie une fenetre en me demandant pour supprimer les feuilles selectionnées cliquez sur ok
 
Je voudrais que cette fenetre n'apparaisse pas puisque FF2 est un fichier temporaire est que je dois absolument le supprimer
 
merci

Reply

Marsh Posté le 22-08-2006 à 22:57:52   

Reply

Marsh Posté le 23-08-2006 à 01:50:26    

Macro Recorder pour dégrossir la syntaxe puis adaptation pour optimisation éventuelle
 
Application.DisplayAlerts = False
...
Application.DisplayAlerts = True


Message édité par kiki29 le 23-08-2006 à 01:52:13
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed