IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

Copie d'une feuille


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de pingoui
    Homme Profil pro
    Activité professionnelle sans liens avec le developpement
    Inscrit en
    Juillet 2004
    Messages
    584
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Activité professionnelle sans liens avec le developpement
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2004
    Messages : 584
    Par défaut Copie d'une feuille
    Bonjour,
    J'ai une macro qui fonctionne très bien sur Excel 2003 mais depuis le passage à excel j'ai un boggue à cette ligne :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    ImportedWb.Sheets(1).Copy After:=.Sheets(intWs)
    Le fichier source est un fichier xlsx.
    Le bug survient uniquement lorsque j'importe un fichier xlsx. Si le fichier est un fichier xlxs classique,l'import se déroule correctement.

    J'ai essayé de convertir mon fichier cible en fichier xlsm (avec macro) mais le bug est toujours présent

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
     
    Public Function FileSearch(ByVal Title As String) As String
        Dim fd As FileDialog
        Dim FileName As String
     
        Set fd = Application.FileDialog(msoFileDialogFilePicker)
        With fd
            .Filters.Add "Tous les fichiers Excel", "*.xl*"
            .Title = Title
        End With
        If fd.Show = -1 Then FileName = fd.SelectedItems(1)
     
        FileSearch = FileName
        Set fd = Nothing
    End Function
     
    Public Sub ImportFile(ByVal FileName As String)
    '
    ' ImportFile Macro
    ' Cette macro permet d'importer une feuille d'un autre classeur
    '
     
    Dim ImportedWb As Workbook
    Dim intWs As Integer, i As Integer
    Dim wasOpen As Boolean
    Dim fName As String, dummy As String
     
    'Recupération du nom de fichier
    dummy = FileName
    While Right(dummy, 1) <> "\"
        fName = Right(dummy, 1) & fName
        dummy = Left(dummy, Len(dummy) - 1)
    Wend
     
    wasOpen = False
    With ThisWorkbook
        'Supprimer l'éventuelle feuille Temp
        On Error Resume Next
        Application.DisplayAlerts = False
        .Sheets("Temp").Delete
        .Sheets("TemporarySortedSheet").Delete
        Application.DisplayAlerts = True
        On Error GoTo 0
        intWs = .Worksheets.Count
     
        If IsOpen(fName) Then
            Set ImportedWb = Workbooks(fName)
            wasOpen = True
        Else
            'ouverture du fichier
            Set ImportedWb = Workbooks.Open(FileName)
        End If
        'Copie de la feuille à importer dans ce classeur
        ImportedWb.Sheets(1).Copy After:=.Sheets(intWs)
        'Fermeture fichier et libération de la variable
        If Not wasOpen Then
            ImportedWb.Close False
        End If
        Set ImportedWb = Nothing
        'Renommer la feuille importée
        .Sheets(intWs + 1).Name = "Temp"
        'On créer une feuille pour le trie
        .Worksheets.Add().Name = "TemporarySortedSheet"
    End With
     
    Set ImportedWb = Nothing
     
    End Sub
    D'avance merci

  2. #2
    Membre éprouvé
    Homme Profil pro
    Assistant aux utilisateurs
    Inscrit en
    Septembre 2007
    Messages
    1 896
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France

    Informations professionnelles :
    Activité : Assistant aux utilisateurs
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Septembre 2007
    Messages : 1 896
    Par défaut
    Bonjour,

    As-tu essayé d'enregistrer ton fichier xlsx en xlxs en faisant "Enregistrer sous" ? c'est peut-être une solution. Lorsque je fais des tableaux sous Vista et que veux m'en servir sous une autre version, je procède de cette façon et je n'ai aucun problème.

    A+

  3. #3
    Membre éclairé Avatar de pingoui
    Homme Profil pro
    Activité professionnelle sans liens avec le developpement
    Inscrit en
    Juillet 2004
    Messages
    584
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Activité professionnelle sans liens avec le developpement
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2004
    Messages : 584
    Par défaut
    Bonjour,
    Avec une conversion du fichier (xls), cela fonctionne.
    Mais je ne souhaites pas toucher au fichier source.
    Celui-ci est extrait d'un logiciel. Et je ne veux pas que l'utilisateur fasse une conversion xlsx vers xls pou pouvoir utiliser mes macros.

    Cordialement.

  4. #4
    Membre éprouvé
    Homme Profil pro
    Assistant aux utilisateurs
    Inscrit en
    Septembre 2007
    Messages
    1 896
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France

    Informations professionnelles :
    Activité : Assistant aux utilisateurs
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Septembre 2007
    Messages : 1 896
    Par défaut
    Ok je comprends. Mais je ne connais pas la solution

  5. #5
    Membre éclairé Avatar de pingoui
    Homme Profil pro
    Activité professionnelle sans liens avec le developpement
    Inscrit en
    Juillet 2004
    Messages
    584
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Activité professionnelle sans liens avec le developpement
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2004
    Messages : 584
    Par défaut
    Merci pour votre aide

Discussions similaires

  1. Réponses: 2
    Dernier message: 15/02/2008, 09h24
  2. [VBA-E] Copie d'une feuille à l'autre
    Par damsmut dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 13/12/2006, 15h52
  3. [VBA-E]Erreur lors de la copy d'une feuille
    Par nattyman dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 07/08/2006, 14h30
  4. [VBA Excel] Copie d'une feuille dans un autre fichier
    Par nattyman dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 03/08/2006, 10h35
  5. [VBA] Copie d'une feuille (avec graphique)
    Par ed_dexia dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 06/10/2005, 09h56

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo