Problème affectation de classeur dans une variable

Problème affectation de classeur dans une variable - VB/VBA/VBS - Programmation

Marsh Posté le 12-12-2011 à 12:19:52    

bonjour le forum,
 
Je suis nouvelle en programmation et je n'arrive pas à me sortir du message "L'indice n'appartient pas à la sélection" provoqué par cette ligne :
 
FichierAppliSource = Application.Workbooks(SCheminFichier).
 
Je m'explique. Je cherche à mettre à jour un fichier. Pour cela, je veux ouvrir un fichier dans lequel il y a les données sources pour la mise à jour. J'aimerais que le classeur source soit affecté dans une variable pour éviter de le réécrire à chaque fois mais je bloque sur la ligne ci-dessus.
 
Voici mon code dans son ensemble :
 
Public FeuilleAppliSource As Worksheet, FichierAppliSource As Workbook        'nom de la feuille et du fichier sources
 
Sub OuvertureFichierSource()
 
    Dim SCheminFichier As String
 
    'ouvrir le fichier source
    SCheminFichier = Application.GetOpenFilename()
     
    If SCheminFichier = "" Then
        Exit Sub
    Else
        SCheminFichier = Dir(SCheminFichier)
        FichierAppliSource = Application.Workbooks(SCheminFichier)
    End If
 
    FichierAppliSource.Worksheets("Résultat" ).Name = SFeuilleTravail         ' SFeuilleTravail est un string qui vaut "Mis à jour"
    Set FeuilleAppliSource = FichierAppliSource.Worksheets(SFeuilleTravail)
    FeuilleAppliSource.Copy After:=FeuilleAppliMAJ
 
End Sub
 
j'ai essayé aussi ces deux écritures à la place de "FichierAppliSource = Application.Workbooks(SCheminFichier)" :
' FichierAppliSource = Workbooks(ActiveWorkbook.Name)
' SCheminFichier = Left(Dir(SCheminFichier), InStr(1, Dir(SCheminFichier), ".", 1) - 1).
 
Mais rien ne marche :(
 
Pourriez-vous m'aider ? je suis désespérée...
 
Merci d'avance

Reply

Marsh Posté le 12-12-2011 à 12:19:52   

Reply

Sujets relatifs:

Leave a Replay

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