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

VBA Access Discussion :

Remise en forme d'un fichier Excel Par VBA (Access)


Sujet :

VBA Access

  1. #1
    Membre régulier
    Profil pro
    Ingénieur Industrie
    Inscrit en
    Novembre 2009
    Messages
    104
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur Industrie

    Informations forums :
    Inscription : Novembre 2009
    Messages : 104
    Points : 100
    Points
    100
    Par défaut Remise en forme d'un fichier Excel Par VBA (Access)
    Bonjour,

    J'essay de remetre en forme un fichier Excel par du CODE VBA (Access)

    Voila mon code actuel, je ne sais pas ou se trouve l'erreur cela me semble correct) ce qui pose probléme à mon avis est la séléction de la zone à copier?

    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
    Dim xlApp As Excel.Application
    Dim xlBook As Excel.Workbook
    Dim xlSheet As Excel.Worksheet
     
    Dim bookMac As Excel.Workbook
    Dim sheetMac As Excel.Worksheet
     
            '/////////////////// Attribution des valeurs
    Set xlApp = New Excel.Application
    xlApp.Visible = False
     
    Set xlBook = xlApp.Workbooks.Open(myPath)
    Set xlSheet = xlBook.Worksheets("Obsoletes")
     
    Set bookMac = xlApp.Workbooks.Open("U:\Logistique\SERVICE\Alexis\Sauvegarde\Save Bureau PC 2\MISSIONS\OUTIL ACCESS\Base_Plat_Donnees\DOC IMPORT\BW_OBS_IMPORT.xls")
    Set sheetMac = bookMac.Worksheets(1)
     
          '/////////////////////////////////////// Chemin du fichier macro et import
     
     
    xlBook.xlSheet.Range("C33:S33").Select 'Séléction des cellule de C à S puis séléction jusqu'à la fin des données
    xlBook.xlSheet.Range(Selection, Selection.End(xlDown)).Copy Destination:=sheetMac.Range("A2")  'Copie puis Coller dans le fichier de destination en dessou de l'entéte ligne 2
     
    xlBook.Save
    xlApp.Quit
    Set wlsheet = Nothing
    Set xlBook = Nothing
    Set xlApp = Nothing

    Merci pour votre aide

    Alexis

  2. #2
    Rédacteur/Modérateur

    Avatar de Jean-Philippe André
    Homme Profil pro
    Développeur VBA/C#/VB.Net/Power Platform
    Inscrit en
    Juillet 2007
    Messages
    14 595
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur VBA/C#/VB.Net/Power Platform
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2007
    Messages : 14 595
    Points : 34 271
    Points
    34 271
    Par défaut
    salut,
    la notion de selection n'est pas la même dans Access et Excel.
    Ici, il faut passer l'intégralité de ta sélection.

    Essaie avec :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    xlBook.xlSheet.Range(xlBook.xlSheet.Range("C33:S33"), xlBook.xlSheet.Range("C33:S33").End(xlDown)).Copy Destination:=sheetMac.Range("A2")  'Copie puis Coller dans le fichier de destination en dessou de l'entéte ligne 2
    Cycle de vie d'un bon programme :
    1/ ça fonctionne 2/ ça s'optimise 3/ ça se refactorise

    Pas de question technique par MP, je ne réponds pas

    Mes ouvrages :
    Apprendre à programmer avec Access 2016, Access 2019 et 2021

    Apprendre à programmer avec VBA Excel
    Prise en main de Dynamics 365 Business Central

    Pensez à consulter la FAQ Excel et la FAQ Access

    Derniers tutos
    Excel et les paramètres régionaux
    Les fichiers Excel binaires : xlsb,

    Autres tutos

  3. #3
    Membre régulier
    Profil pro
    Ingénieur Industrie
    Inscrit en
    Novembre 2009
    Messages
    104
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur Industrie

    Informations forums :
    Inscription : Novembre 2009
    Messages : 104
    Points : 100
    Points
    100
    Par défaut
    Salut et merci de ton aide,

    Cela ne marche pas.

    pour bien me faire comprendre,

    J'aimerai que le vb séléctionne de C33 a S33 puis jusqu à la fin des donnée en bas. ce qui fait un beau carré séléctionné.

    Je crois que je suis toujours pas claire
    Merci

  4. #4
    Membre régulier
    Profil pro
    Ingénieur Industrie
    Inscrit en
    Novembre 2009
    Messages
    104
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur Industrie

    Informations forums :
    Inscription : Novembre 2009
    Messages : 104
    Points : 100
    Points
    100
    Par défaut
    Cela donne :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     Range("C33:S33").Select
     Range(Selection, Selection.End(xlDown)).Select
    Sous Excel

  5. #5
    Rédacteur/Modérateur

    Avatar de Jean-Philippe André
    Homme Profil pro
    Développeur VBA/C#/VB.Net/Power Platform
    Inscrit en
    Juillet 2007
    Messages
    14 595
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur VBA/C#/VB.Net/Power Platform
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2007
    Messages : 14 595
    Points : 34 271
    Points
    34 271
    Par défaut
    les select ne fonctionneront pas correctement sous Access :
    essayons avec ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    xlBook.xlSheet.Range(xlBook.xlSheet.Range("C33:S" & xlBook.xlSheet.Range("C33:S33").End(xlDown).Row).Copy Destination:=sheetMac.Range("A2")  'Copie puis Coller dans le fichier de destination en dessou de l'entéte ligne 2
    Cycle de vie d'un bon programme :
    1/ ça fonctionne 2/ ça s'optimise 3/ ça se refactorise

    Pas de question technique par MP, je ne réponds pas

    Mes ouvrages :
    Apprendre à programmer avec Access 2016, Access 2019 et 2021

    Apprendre à programmer avec VBA Excel
    Prise en main de Dynamics 365 Business Central

    Pensez à consulter la FAQ Excel et la FAQ Access

    Derniers tutos
    Excel et les paramètres régionaux
    Les fichiers Excel binaires : xlsb,

    Autres tutos

  6. #6
    Membre régulier
    Profil pro
    Ingénieur Industrie
    Inscrit en
    Novembre 2009
    Messages
    104
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur Industrie

    Informations forums :
    Inscription : Novembre 2009
    Messages : 104
    Points : 100
    Points
    100
    Par défaut
    Je ne suis pas au boulot avant la semaine prochaine mais je suis pas sur que se soit la bonne soluce: la plage de donné que je voudrai séléctionner serai égale dans le cas ou j' 100 ligne par exemple à 100L x 17C.

    J essayerai ton code la semaine prochaine merci de m'aidé sur mon pb.

    Alex

  7. #7
    Membre régulier
    Profil pro
    Ingénieur Industrie
    Inscrit en
    Novembre 2009
    Messages
    104
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur Industrie

    Informations forums :
    Inscription : Novembre 2009
    Messages : 104
    Points : 100
    Points
    100
    Par défaut
    Bonjour,

    A mon grand regret cela ne marche toujours pas:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    xlBook.xlSheet.Range(xlBook.xlSheet.Range("C33:S" & xlBook.xlSheet.Range("C33:S33").End(xlDown).Row).Copy Destination:=sheetMac.Range("A2")
    Je suis un peu déséspéré Help.

    Est ce que quelqu'un connaitrai un bout bouqin sur access et VBA traitant aussi du sujet de la manipulation d'excel par VB?

    Merci Par avance

    Alexis

Discussions similaires

  1. [XL-2010] Ouverture d'un fichier Excel par VBA
    Par cameleon1970 dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 24/04/2012, 12h35
  2. Appel fichier excel par vba
    Par wachoo31 dans le forum VBA Access
    Réponses: 2
    Dernier message: 05/04/2009, 11h13
  3. Renommer fichier excel par vba
    Par lucazzo dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 19/07/2008, 12h20
  4. créer un fichier excell avec VBA(access)
    Par JCH dans le forum Access
    Réponses: 1
    Dernier message: 19/09/2006, 19h07
  5. ouverture auto d'un fichier excel par macro access
    Par pascal913 dans le forum Access
    Réponses: 5
    Dernier message: 26/07/2006, 16h50

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