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 :

erreur 9 : l'indice n'appartient pas à la séléction : création et collage des données ds un fichier Excel


Sujet :

Macros et VBA Excel

  1. #1
    Membre à l'essai
    Femme Profil pro
    Étudiant
    Inscrit en
    Novembre 2016
    Messages
    30
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2016
    Messages : 30
    Points : 19
    Points
    19
    Par défaut créer et renommer un fichier excel avec une valeur d'une cellule et copier coller
    Bonjour,

    J'ai un fichier excel contenant 2 feuilles :
    feuille 1 : liste des noms de familles en colonne A avec d'autres critères en colonnes B, C, D,...
    feuilel 2 : liste des noms dans la colonne A avec prénoms dans la colonne B


    ce que je veux faire, boucler sur les prénoms de famille de la feuille 1, pour chaque prénom, créer un nouveau fichier excel renommé par le prenom.

    dans la même itération, prendre le nom correspondant à ce prénom et aller filtrer avec ce nom dans la feuille 1.
    copier le résultat du filtrage (toutes les colonnes) et le coller dans le classeur créé tout à l'heure (ayant le nom du prénom).

    pour l'instant j'aimerai faire fonctionner mon code sur une seule valeur avant de procéder à la boucle, mon soucis actuel est au niveau des 2 dernières lignes, je n'arrive pas à ouvrir le fichier que j'ai créé pour y coller les lignes ( le nom du fichier doit être une variable).



    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
    Sub découper()
     
     
    Dim XLApp As New Excel.Application
    Dim XLBook As Workbook
    Dim XLSheet As Worksheet
    Dim MonClasseur As Workbook
    Dim fichier As Workbook
     
    Workbooks("decoupage").Sheets("Sheet2").Cells(2, 2).Select
     
    Selection.Copy
    motCopie = Selection.Value
     
    Workbooks("decoupage").Sheets("Sheet1").Select
     
    ActiveSheet.Range("$A$1:$B$11").AutoFilter Field:=1, Criteria1:= _
    "=(DUPONT)", Operator:=xlAnd
     
    Cells.Select
    Selection.Copy
     
    Set XLBook = XLApp.Workbooks.Add
    XLBook.SaveAs motCopie
     
    fichier = motCopie &".xlsx"
     
    fichier = "C:\Users\admin\Documents\"& motCopie & ".xlsx"
    fichier.Open
    Workbooks("fichier").Sheets("Sheet1").Cells(1, 1).Paste
     
     (fichier)
    l'erreur 9 sur la dernière ligne : l indice n appartient pas à la selection
    Merci d'avance

  2. #2
    Expert éminent sénior
    Avatar de Marc-L
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2013
    Messages
    9 468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2013
    Messages : 9 468
    Points : 18 677
    Points
    18 677
    Par défaut

    Bonjour,

    effectivement le problème pourrait venir de l'inutile ouverture d'une seconde instance d'Excel ‼
    Tu es déjà dans Excel, pourquoi diable en ouvrir un autre ?!

    _________________________________________________________________________________________________________
    Je suis Paris, Nice, Bruxelles, Charlie, …
    C'est parce que la vitesse de la lumière est plus rapide que celle du son que tant de gens paressent brillants avant d'avoir l'air con ! (Thomas Boishardy)

  3. #3
    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 594
    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 594
    Points : 34 267
    Points
    34 267
    Par défaut
    Salut,

    fichier est une variable, donc pas de guillemets, et on n'ouvre pas une chaine de caracteres :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Workbooks.Open fichier
    Workbooks(fichier).Sheets("Sheet1").Cells(1, 1).Paste
    Sinon, sur le reste de ton code, on n'evite dans la mesure du possible de passer par des Select + Selection, surtout si tu jongles entre les classeurs.

    Ton code pourrais etre considere comme plus robuste avec par exemple :
    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
    Sub découper()
     
     
    Dim XLApp As New Excel.Application
    Dim XLBook As Workbook
    Dim XLSheet As Worksheet
    Dim MonClasseur As Workbook
    Dim fichier As Workbook
     
    With Workbooks("decoupage").Sheets("Sheet2").Cells(2, 2)
       .Copy
       motCopie = .Value
    End With
    Workbooks("decoupage").Sheets("Sheet1").Range("$A$1:$B$11").AutoFilter Field:=1, Criteria1:= _
    "=(DUPONT)", Operator:=xlAnd
     
    Cells.Select
    Selection.Copy
     
    Set XLBook = XLApp.Workbooks.Add
    XLBook.SaveAs motCopie
     
    fichier = motCopie &".xlsx"
    ' ou bien
    fichier = "C:\Users\admin\Documents\"& motCopie & ".xlsx"
    Workbooks.Open fichier
    Workbooks(fichier).Sheets("Sheet1").Cells(1, 1).Paste
    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

  4. #4
    Membre à l'essai
    Femme Profil pro
    Étudiant
    Inscrit en
    Novembre 2016
    Messages
    30
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2016
    Messages : 30
    Points : 19
    Points
    19
    Par défaut
    Citation Envoyé par Marc-L Voir le message

    Bonjour,

    effectivement le problème pourrait venir de l'inutile ouverture d'une seconde instance d'Excel ‼
    Tu es déjà dans Excel, pourquoi diable en ouvrir un autre ?!

    _________________________________________________________________________________________________________
    Je suis Paris, Nice, Bruxelles, Charlie, …
    effectivement je n'ai pas exprimé tout mon besoin, l'objectif de la macro est de découper le document initial en plusieurs fichiers Excels différents sur la base du critère : nom de famille.
    dans mon code j'essaye de faire qlq chose de plus simple possible

  5. #5
    Expert éminent sénior
    Avatar de Marc-L
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2013
    Messages
    9 468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2013
    Messages : 9 468
    Points : 18 677
    Points
    18 677
    Par défaut



    Et c'est réalisable directement dans l'Excel déjà ouvert évitant ainsi un gâchis de ressources …
    C'est parce que la vitesse de la lumière est plus rapide que celle du son que tant de gens paressent brillants avant d'avoir l'air con ! (Thomas Boishardy)

  6. #6
    Membre à l'essai
    Femme Profil pro
    Étudiant
    Inscrit en
    Novembre 2016
    Messages
    30
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2016
    Messages : 30
    Points : 19
    Points
    19
    Par défaut
    Citation Envoyé par Jean-Philippe André Voir le message
    Salut,

    fichier est une variable, donc pas de guillemets, et on n'ouvre pas une chaine de caracteres :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Workbooks.Open fichier
    Workbooks(fichier).Sheets("Sheet1").Cells(1, 1).Paste
    Sinon, sur le reste de ton code, on n'evite dans la mesure du possible de passer par des Select + Selection, surtout si tu jongles entre les classeurs.

    Ton code pourrais etre considere comme plus robuste avec par exemple :
    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
    Sub découper()
     
     
    Dim XLApp As New Excel.Application
    Dim XLBook As Workbook
    Dim XLSheet As Worksheet
    Dim MonClasseur As Workbook
    Dim fichier As Workbook
     
    With Workbooks("decoupage").Sheets("Sheet2").Cells(2, 2)
       .Copy
       motCopie = .Value
    End With
    Workbooks("decoupage").Sheets("Sheet1").Range("$A$1:$B$11").AutoFilter Field:=1, Criteria1:= _
    "=(DUPONT)", Operator:=xlAnd
     
    Cells.Select
    Selection.Copy
     
    Set XLBook = XLApp.Workbooks.Add
    XLBook.SaveAs motCopie
     
    fichier = motCopie &".xlsx"
    ' ou bien
    fichier = "C:\Users\admin\Documents\"& motCopie & ".xlsx"
    Workbooks.Open fichier
    Workbooks(fichier).Sheets("Sheet1").Cells(1, 1).Paste
    Merci d'abord de votre réponse. j'ai testé le code en déclarant :
    fichier As String
    et en gardant :
    fichier = "C:\Users\A455209\Documents\" & motCopie & ".xlsx"
    Workbooks.Open fichier
    Workbooks(fichier).Sheets("Sheet1").Cells(1, 1).Paste

    Ceci n'a malheureusement pas empéché l'erreur 9 sur "Workbooks(fichier).Sheets("Sheet1").Cells(1, 1).Paste"
    j'ai essayé également avec ....Cells.Paste


  7. #7
    Membre à l'essai
    Femme Profil pro
    Étudiant
    Inscrit en
    Novembre 2016
    Messages
    30
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2016
    Messages : 30
    Points : 19
    Points
    19
    Par défaut
    Citation Envoyé par Marc-L Voir le message



    Et c'est réalisable directement dans l'Excel déjà ouvert évitant ainsi un gâchis de ressources …
    Est-ce qu'il y a moyen si non de coller les données tout en gardant le fichier créé fermé ? par ce que je n'ai pas intérêt à l'ouvrir à chaque fois vu qu'il y aura des dizaines de nouveaux fichiers

  8. #8
    Expert éminent sénior
    Avatar de Marc-L
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2013
    Messages
    9 468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2013
    Messages : 9 468
    Points : 18 677
    Points
    18 677
    Par défaut

    Tout dépend du contexte mais pour une débutante c'est bien plus simple d'ouvrir le classeur.

    Sinon en dehors des dizaines d'exemples dans les discussions de ce forum,
    parmi les nombreux tutoriels à disposition voici Lire et écrire dans les classeurs Excel fermés
    C'est parce que la vitesse de la lumière est plus rapide que celle du son que tant de gens paressent brillants avant d'avoir l'air con ! (Thomas Boishardy)

  9. #9
    Membre à l'essai
    Femme Profil pro
    Étudiant
    Inscrit en
    Novembre 2016
    Messages
    30
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2016
    Messages : 30
    Points : 19
    Points
    19
    Par défaut
    Merci pour le tuto je lirai !
    pour l'instant je vais uniquement ajouter un attribut Visible = False, pour qu'au moins il n'apparaisse pas à l'ouverture.
    actuellement je crois que c'est un problème de syntaxe car Excel ne me propose pas le "Paste" quand j'écris la ligne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Workbooks(fichier).Sheets("Sheet1").Cells(1, 1).Paste

  10. #10
    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 594
    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 594
    Points : 34 267
    Points
    34 267
    Par défaut
    Salut,

    soit tu utilises fichier comme une chaine de caracteres, soit comme un classeur, mais tu ne peux pas l'utiliser avec les deux dans ce code =]
    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

  11. #11
    Membre à l'essai
    Femme Profil pro
    Étudiant
    Inscrit en
    Novembre 2016
    Messages
    30
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2016
    Messages : 30
    Points : 19
    Points
    19
    Par défaut
    oui, justement je l'ai enlevé, j'ai gardé ceci :

    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
    Sub découper()
     
     
    Dim XLApp As New Excel.Application
    Dim XLBook As Workbook
    Dim XLSheet As Worksheet
    Dim MonClasseur As Workbook
    Dim fichier As String
     
    With Workbooks("decoupage").Sheets("Sheet2").Cells(13, 2)
       .Copy
       motCopie = .Value
    End With
    Workbooks("decoupage").Sheets("Sheet1").Range("$A$1:$B$11").AutoFilter Field:=1, Criteria1:= _
    "=DUPONT", Operator:=xlAnd
     
    Cells.Select
    Selection.Copy
     
    Set XLBook = XLApp.Workbooks.Add
    XLBook.SaveAs motCopie
     
     
    fichier = "C:\" & motCopie & ".xlsx"
    Workbooks.Open fichier
     
     
    Workbooks(fichier).Sheets("Sheet1").Cells(1, 1).Paste
     
    End Sub
    Mon fichier se crée, se renomme et s'ouvre mais l'erreur 9 à la dernière ligne

  12. #12
    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 594
    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 594
    Points : 34 267
    Points
    34 267
    Par défaut
    Ok et es-tu certain que ton fichier a une feuille Sheet1 ?
    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

  13. #13
    Membre à l'essai
    Femme Profil pro
    Étudiant
    Inscrit en
    Novembre 2016
    Messages
    30
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2016
    Messages : 30
    Points : 19
    Points
    19
    Par défaut
    Ouiii :/

  14. #14
    Expert confirmé
    Homme Profil pro
    Responsable des études
    Inscrit en
    Juillet 2014
    Messages
    2 661
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Aude (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Responsable des études
    Secteur : Santé

    Informations forums :
    Inscription : Juillet 2014
    Messages : 2 661
    Points : 5 785
    Points
    5 785
    Par défaut
    Bonjour
    test ceci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Cells(1, 1).Copy
    Cells(1, 2).Paste
    et
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Cells(1, 1).Copy
    Cells(1, 2).PasteSpecial
    Le premier renvoie une erreur 438, mais ce n'est pas l'erreur qu'il te donne il doit donc y avoir autre chose:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    fichier = "C:\" & motCopie & ".xlsx"
    Workbooks.Open fichier
     
    Workbooks(fichier).Sheets("Sheet1").Cells(1, 1).Paste
    Pour ouvrir un fichier tu as besoin du chemin, mais une fois ouvert tu n'en a plus besoin, essaye donc
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Workbooks(motCopie & ".xlsx").Sheets("Sheet1").Cells(1, 1).Pastespecial
    J'aimerais bien aller vivre en Théorie, car en Théorie tout se passe bien.

  15. #15
    Membre à l'essai
    Femme Profil pro
    Étudiant
    Inscrit en
    Novembre 2016
    Messages
    30
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2016
    Messages : 30
    Points : 19
    Points
    19
    Par défaut
    ça ne change rien, l'erreur persiste tjrs c'est vrmnt bizarre, pensez vous que ça peut être du à des références à cocher ?
    5 références sont cochées chez moi :
    - VB for application
    - M. Excel 12.0 object Library
    - OLE automatisation
    - M. office 12.0 Object Library
    - Microsoft ActiveX data objects 2.0 library

  16. #16
    Expert confirmé
    Homme Profil pro
    Responsable des études
    Inscrit en
    Juillet 2014
    Messages
    2 661
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Aude (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Responsable des études
    Secteur : Santé

    Informations forums :
    Inscription : Juillet 2014
    Messages : 2 661
    Points : 5 785
    Points
    5 785
    Par défaut
    Peux tu mettre une capture d'écran où l'on voit le nom du classeur et des feuilles?
    Et tester le code en remplaçant dans la ligne en question toutes les variables par les valeurs qu'elles sont censé avoir.

    edit: pour pour trouver précisement d'où vient l'erreur tu peux remplacer
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Workbooks(fichier).Sheets("Sheet1").Cells(1, 1).Paste
    par
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Workbooks(fichier).select
    Sheets("Sheet1").select
    Cells(1, 1).select
    selection.Paste
    De cette manière tu verra exactement quel partie du code plante.
    J'aimerais bien aller vivre en Théorie, car en Théorie tout se passe bien.

  17. #17
    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 594
    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 594
    Points : 34 267
    Points
    34 267
    Par défaut
    Salut,

    je recommande ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Dim fichier As Workbook
    Set fichier = Workbooks.Open ("C:\" & motCopie & ".xlsx")
     
     fichier.Sheets("Sheet1").Cells(1, 1).Paste
    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

  18. #18
    Membre à l'essai
    Femme Profil pro
    Étudiant
    Inscrit en
    Novembre 2016
    Messages
    30
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2016
    Messages : 30
    Points : 19
    Points
    19
    Par défaut
    non plus .. j'ai essayé : fichier.Sheets("Sheet1").Cells(3, 3).Select
    ça me sélectionne bien la cellule (3,3), le problème est par rapport au collage !
    je me suis dite que ça peut être du à des droits d'écriture (lecture seule) du coup j'ai essayé avec un fichier ke j'ai créée manuellement et ça n'a pas marché non plus

  19. #19
    Expert confirmé
    Homme Profil pro
    Responsable des études
    Inscrit en
    Juillet 2014
    Messages
    2 661
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Aude (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Responsable des études
    Secteur : Santé

    Informations forums :
    Inscription : Juillet 2014
    Messages : 2 661
    Points : 5 785
    Points
    5 785
    Par défaut
    J'avais édité mon message précédent, tu peux couper ta ligne en 4 pour voir exactement où est le problème:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    fichier.select
    Sheets("Sheet1").select
    Cells(1, 1).select
    selection.Pastespecial
    Par contre j'insiste chez moi .paste genère un erreur 438, il faut utiliser pastespecial.
    J'aimerais bien aller vivre en Théorie, car en Théorie tout se passe bien.

  20. #20
    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 594
    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 594
    Points : 34 267
    Points
    34 267
    Par défaut
    Sinon tu fais tout d'un coup avec
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Cells.Copy destination :=fichier.Worksheets("Sheet1").Cells(3,3)
    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

Discussions similaires

  1. [XL-2010] erreur '9' l'indice n'appartient pas à la sélection
    Par jad73 dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 04/03/2013, 23h47
  2. [XL-2007] Erreur 9 l'indice n'appartient pas à la sélection
    Par stardeus dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 20/02/2013, 15h29
  3. [XL-2010] Erreur 9 l'indice n'appartient pas à la sélection
    Par PATDRO dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 13/08/2012, 23h23
  4. [XL-2010] Erreur: L'indice n'appartient pas à la séléction
    Par yoyo3d dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 29/06/2011, 15h07
  5. [XL-2003] Erreur '0' : l'indice n'appartient pas à la selection
    Par Benjycool dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 29/04/2010, 15h51

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