Récupérer un nombre demander de colonnes dans plusieurs fichier

Bonjour, j’écris des macros pour mon besoin au travail mais là je bloque sur la boucle for car j’ai besoin de demander combien de colonnes j’ai besoin de récupérer et de pouvoir les concassés dans un nouveau fichier dans un ordre défini à la demande. Voici la macro de base où j’ai défini moi même le nombre de colonnes. je voudrais poser la question car suivant les essais le nombre de colonnes diffères.

n = Val(InputBox(« Combien d’essais avez-vous à traiter ? », « Nombres d’essais », « 3 »))
chemin = CStr(InputBox(« Quel est le chemin d’acces de vos fichiers ? », « Explorer », « … »))
NomSerie = CStr(InputBox(« Quel est le nom de votre essai ? », « Explorer », « XXXXX »))

    h = Right(chem, 1)
    If h <> "\" Then
        chemin = chemin & "\"
    End If
    
    'Ouverture des fichiers Sources
    For cycle = 1 To n

        Workbooks.OpenText Filename:=CStr(chemin) & CStr(NomSerie) & "-" & CStr(cycle) & ".xls", Origin:=xlWindows, _
    StartRow:=1, DataType:=xlDelimited, TextQualifier:=xlDoubleQuote, _
    ConsecutiveDelimiter:=False, Tab:=True, Semicolon:=False, Comma:=False _
    , Space:=False, Other:=False, FieldInfo:=Array(Array(1, 1), Array(2, 1), _
   Array(3, 1), Array(4, 1), Array(5, 1), Array(6, 1), Array(7, 1), Array(8, 1))

   Next

    'Choisir les colonnes  de traitement de données
    
    Windows(CStr(NomSerie) & "-1.xls").Activate
    Fv = InputBox("Indiquer la colonne de la Force Vérin ", "COLONNE FORCE", "P")
    C1 = InputBox("Indiquer la colonne du Capteur C1", "Capteur C1", "R")
    C2 = InputBox("Indiquer la colonne du Capteur C2", "Capteur C2", "S")
    C3 = InputBox("Indiquer la colonne du Capteur C3", "Capteur C3", "T")
    C4 = InputBox("Indiquer la colonne du Capteur C4", "Capteur C4", "U")
    C5 = InputBox("Indiquer la colonne du Capteur C5", "Capteur C5", "V")
    C6 = InputBox("Indiquer la colonne du Capteur C6", "Capteur C6", "W")
    T = InputBox("Indiquer la colonne du Temps", "Temps", "D")
   
    
   
    
    LigneStart = InputBox("Indiquer la ligne où commencer", "LIGNE", "17")
    
    cellfin(0) = 3
   For cycle = 1 To n

    Windows("resultat 23033.xlsm").Activate
    Sheets("Données Brute").Activate
   Cells(cellfin(cycle - 1) + 1, 1).Select
    
       ' Copy du Temps dans le fichier pour tema
        Windows(CStr(NomSerie) & "-" & CStr(cycle) & ".xls").Activate
        Cells(LigneStart, T).Select
        Range(Selection, Selection.End(xlDown)).Select
        Selection.Copy
       Windows("resultat 23033.xlsm").Activate
        ActiveCell.Offset(0, 1).Select
        Selection.PasteSpecial Paste:=xlPasteValues
         
        'Copy de Force au Vérin dans le fichier pour tema
        Windows(CStr(NomSerie) & "-" & CStr(cycle) & ".xls").Activate
        Cells(LigneStart, Fv).Select
        Range(Selection, Selection.End(xlDown)).Select
        Selection.Copy
        Windows("resultat 23033.xlsm").Activate
        ActiveCell.Offset(0, 1).Select
        Selection.PasteSpecial Paste:=xlPasteAll, Operation:=xlSubtract, _
    SkipBlanks:=False, Transpose:=False

           
        'Copy de C1 dans le fichier pour tema
        Windows(CStr(NomSerie) & "-" & CStr(cycle) & ".xls").Activate
        Cells(LigneStart, C1).Select
        Range(Selection, Selection.End(xlDown)).Select
        Selection.Copy
        Windows("resultat 23033.xlsm").Activate
        ActiveCell.Offset(0, 1).Select
        Selection.PasteSpecial Paste:=xlPasteValues
                       
        'Copy de C2 dans le fichier pour tema
        Windows(CStr(NomSerie) & "-" & CStr(cycle) & ".xls").Activate
        Cells(LigneStart, C2).Select
        Range(Selection, Selection.End(xlDown)).Select
        Selection.Copy
        Windows("resultat 23033.xlsm").Activate
        ActiveCell.Offset(0, 1).Select
        Selection.PasteSpecial Paste:=xlPasteValues
        
        'Copy de C3 dans le fichier pour tema
        Windows(CStr(NomSerie) & "-" & CStr(cycle) & ".xls").Activate
        Cells(LigneStart, C3).Select
        Range(Selection, Selection.End(xlDown)).Select
        Selection.Copy
        Windows("resultat 23033.xlsm").Activate
        ActiveCell.Offset(0, 1).Select
        Selection.PasteSpecial Paste:=xlPasteValues
        
        'Copy de C4 dans le fichier pour tema
        Windows(CStr(NomSerie) & "-" & CStr(cycle) & ".xls").Activate
        Cells(LigneStart, C4).Select
        Range(Selection, Selection.End(xlDown)).Select
        Selection.Copy
        Windows("resultat 23033.xlsm").Activate
        ActiveCell.Offset(0, 1).Select
        Selection.PasteSpecial Paste:=xlPasteValues
        
        'Copy de C5 dans le fichier pour tema
       Windows(CStr(NomSerie) & "-" & CStr(cycle) & ".xls").Activate
        Cells(LigneStart, C5).Select
        Range(Selection, Selection.End(xlDown)).Select
        Selection.Copy
        Windows("resultat 23033.xlsm").Activate
        ActiveCell.Offset(0, 1).Select
        Selection.PasteSpecial Paste:=xlPasteValues
        
        'Copy de C6 dans le fichier pour tema
       Windows(CStr(NomSerie) & "-" & CStr(cycle) & ".xls").Activate
        Cells(LigneStart, C6).Select
        Range(Selection, Selection.End(xlDown)).Select
        Selection.Copy
        Windows("resultat 23033.xlsm").Activate
        ActiveCell.Offset(0, 1).Select
        Selection.PasteSpecial Paste:=xlPasteValues
        
              
        'compter le nombre de ligne dans le cycle
        Cells(cellfin(cycle - 1) + 1, 3).Select
        Selection.End(xlDown).Select
        cellfin(cycle) = ActiveCell.Row

        'cycle
        Cells(cellfin(cycle - 1) + 1, 1).Select
        Cells(cellfin(cycle - 1) + 1, 1).Value = cycle
        Selection.AutoFill Destination:=Range("A" & cellfin(cycle - 1) + 1 & ":A" & cellfin(cycle))
        
                  
        
        Windows(CStr(NomSerie) & "-" & CStr(cycle) & ".xls").Activate
        ActiveWorkbook.Close SaveChanges:=False

 Next

Range(« j4 »).Select
Selection.AutoFill Destination:=Range(« j4:j21244 »)
Range(« j4:j21244 »).Select
End Sub

Ce sujet a été automatiquement fermé après 30 jours. Aucune réponse n’est permise dorénavant.