coller seulement les valeurs

cabsen

XLDnaute Junior
Bonjour le forum,

J'utilise la macro suivante pour extraire les données d'un fichier.
Code:
Public Sub TransfertDonnees()
        
  acopier = Array("G8:G12")
  
        For i = 1 To 52
            
    vers = Array("B" & 2 + ((i - 1) * 7))
        
            For n = 0 To UBound(acopier)
            Workbooks("07_08_v13.xls").Sheets("sem" & Format(i, "00")).Range(acopier(n)).Copy Destination:=Workbooks("analyseur.xls").Sheets("collecte").Range(vers(n))
            Next n
            
        Next i
        
End Sub

Mon problème est que je ne sais pas où ajouter un "xlValue" pour ne récupérer que les valeurs et non les formules dans le fichier "analyseur.xls".

Si quelqu'un sait comment faire ? À votre bon cœur :)

D'avance merci…
 

phlaurent55

Nous a quittés en 2020
Repose en paix
Re : coller seulement les valeurs

Salut cabsen,

un petit fichier joint avec explications de ce que tu attends comme résultat serait bien utile car li me semble que tu effectues tes copies en espaçant tes cellules " vers = Array("B" & 2 + ((i - 1) * 7)) "
pas compris également " For i = 1 To 52" alors que acopier = Array("G8:G12") ne contient que 5 cellules
 
Dernière édition:

cabsen

XLDnaute Junior
Re : coller seulement les valeurs

Merci bhbh,

mais cette solution ne me copie que la première cellule de mon tableau de 5 éléments.

Pour phlaurent55,

c'est le début de ma macro. Pour le moment elle ne comprend qu'une sélection de 5 éléments mais elle est appelée à en manipuler beaucoup plus. La boucle i permet la sélection des 52 feuilles pour y effectuer à chaque fois la même sélection.

La boucle sur Array permet effectivement de recopier les 5 éléments toutes les 7 lignes vers le bas.
 

ChTi160

XLDnaute Barbatruc
Re : coller seulement les valeurs

Salut cabsen
Bonjour le Fil

voilà ce que j'ai fait en fonction de ce que j'ai compris Lol
ça copie la plage "G8:G12" des feuilles sem ,toutes les 7 lignes dans la feuilles collecte (mais bon a la fin y que les données de la dernière semaine Lol) car on change pas de plage B & n :confused:
j'ai pas mis de traitement d'erreur pour si des fois y a pas la feuille sem x :rolleyes:
Code:
Public Sub TransfertDonnees()
 Dim Ws_Source As Workbook
 Dim Sht_Cible As Worksheet
 Dim I As Byte
 Dim Vers As String
 
 Const acopier As String = "G8:G12"
 
 Set Ws_Source = Workbooks("07_08_v13.xls")
 Set Sht_Cible = Workbooks("analyseur.xls").Sheets("collecte")
     For I = 1 To 52
       
         For n = 2 To 357 Step 7
   Ws_Source.Sheets("sem" & Format(I, "00")).Range(acopier).Copy _
        Destination:=Sht_Cible.Range("B" & n) 'Ici pour décaler il faudrait _
 mettre un truc du genre Sht_Cible.Range(Sht_Cible.Cells(n,Col).Address(0,0)) _
 en faisant varier Col
            Next n
            
      Next I
        
End Sub
Bonne fin de journée :D
 
Dernière édition:

ChTi160

XLDnaute Barbatruc
Re : coller seulement les valeurs

re
une nouvelle version Lol
Code:
Public Sub TransfertDonnees()
 Dim Tabtemp As Variant
 Dim Ws_Source As Workbook
 Dim Sht_Cible As Worksheet
 Dim I As Byte
 Dim Vers As String
 Dim col As Byte
 Dim Ligne As Integer
 Dim L As Byte
  col = 2
 Const acopier As String = "G8:G12"
 On Error GoTo fin
 Set Ws_Source = Workbooks("07_08_v13.xls")
 Set Sht_Cible = Workbooks("analyseur.xls").Sheets("collecte")
     For I = 1 To 52
       Tabtemp = Ws_Source.Sheets("sem" & Format(I, "00")).Range(acopier)
         For Ligne = 1 To 357 Step 7
             With Sht_Cible
                    .Cells(Ligne, col) = "sem" & Format(I, "00")
                For L = 1 To UBound(Tabtemp, 1)
                    .Cells(Ligne + L, col) = Tabtemp(L, 1)
                Next
             End With
         
            Next
          col = col + 1
      Next I
      Erase Tabtemp
fin:
End Sub

tiens nous au courant
Bonne fin de journée
 

ChTi160

XLDnaute Barbatruc
Re : coller seulement les valeurs

re
arff à la mi temps

je ne pense pas qu'il y est dans la méthode Copy (voir aide ) de possibilité de faire un PasteSpecial Paste:=xlValues

Dommage non !!!! ;)
Le but de la macro c'est quoi ????
Bonne fin de Soirée
 

Discussions similaires

Réponses
11
Affichages
346

Statistiques des forums

Discussions
312 472
Messages
2 088 714
Membres
103 932
dernier inscrit
clotilde26