Résultats pour "macro ouvrir classeur"

10'489 résultats pour cette recherche

Bonjour à tous,

J'ai un classeur Excel 2010 depuis lequel je souhaite ouvrir un autre classeur et activer ce dernier.

Bien entendu cela ne fonctionne pas.

Voici un extrait de mon code :

...
'choix du fichier, ajout et sélection de la feuille
chaine1 = "Tableaux"
resultat1 = Ouvre()
Workbooks(resultat1).Activate
...

Function Ouvre()
Dim wbMyWb As Workbook
Dim Nom_Fichier As Variant

Nom_Fichier = Application.GetOpenFilename("Fichiers Excel , *.xls; *.xlsx")
If Nom_Fichier <> False Then
 Set wbMyWb = Workbooks.Open(Nom_Fichier)
 ' wbMyWb.Activate
 Ouvre = Nom_Fichier
End If

End Function

L'erreur est erreur 9 indice n'appartient pas à la sélection

Merci de votre aide

Bonjour à tous,

J'ai besoin d'aide pour une ligne de code que j'arrive pas à faire exécuter correctement. je souhaiterais ouvrir mon fichier qui dans bureau puis dans un dossier. Voici le code que j'ai fais

Sub Ouvre()

' Dim wb As Workbook

Dim ws As Worksheet

Workbooks.Open ("Bureau:\important\TABLEAU DE SEQUENCEMENT 2.0.xls")

Set ws = ActiveWorkbook.Worksheets("Activités")

Set ws = Nothing

End Sub

Merci pour l'aide que vous m'accordez

Bonjour Sébastien,

J'ai regardé de nombreuse vidéo de votre site, très instructif vue mon niveau de novice, je vous en remercie.

Je n'ai pas trouvé de solution pour créer des boutons de commande redirigeant vers d'autres classeurs.

En préambule ma feuille excel contient: (de mon classeur de base ("fenêtre outil")):

1/1er classeur appelé "fenêtre outil" contenant une liste de noms (simple tableau pas en liste déroulante, simple liste: nom n°1; nom N°2...)

2/à coté création des bouton "mensualisation"; bouton "feuille de présence" et bouton "bulletin"

3/3 autres classeurs avec respectivement :

a/classeur "mensualisation" correspondant au nom n°1, et

b/classeur de "feuille de présence" correspondant au nom n°1 et

c/classeur "bulletin" correspondant au nom n°1;

+ les classeurs "mensualisation", "feuille de présence" et "bulletin" pour les autres noms, il y a un classeur de chaque pour les noms n°2, n°3...

Je souhaite trouver la macro conditionnelle qui, SI :

1/ SI je sélectionne le premier nom d'une liste de nom B10 (n°1)(du 1er classeur "fenêtre outil"),

2/puis SI je sélectionne le bouton soit "MENSUALISATION", soit le bouton "FEUILLE DE PRESENCE", soit le bouton "BULLETIN DE SALAIRE"

le bouton sélectionné me dirige et ouvre le classeur "mensualisation" ou bien "feuille de présence" correspondant au nom sélectionné ( nom n°1) :

Formuler autrement:

Si je sélectionne B10 (cellule du nom n°1) et SI bouton "mensualisation" sélectionné alors le classeur "mensualisation de nom n°1" s'ouvre.

Si B10 (cellule du nom n°1 sélectionné) sélectionné et SI bouton "feuille de présence" sélectionné alors le classeur "feuille de présence de nom n°1" s'ouvre. idem pour le bouton "bulletin" et le classeur "bulletin correspondant au nom n°1

Puis Si B11 (cellule du nom n°2 sélectionné) puis SI je sélectionne le bouton "mensualisation" alors le classeur "mensualisation de nom n°2" s'ouvre.

Si B11 (cellule du nom n°2 sélectionné) et SI bouton "feuille de présence" sélectionné alors le classeur "feuille de présence de nom n°2" s'ouvre.

idem pour le bouton "bulletin" et le classeur "bulletin correspondant au nom n°2

et ainsi de suite avec les autres noms de la liste n°3,4,5...

Comment créer une macro avec un seul bouton "mensualisation" qui rédige, selon le nom sélectionné de la liste de noms, vers le classeur du nom correspondant?

Comment créer un seul bouton " mensualisation" avec 2 conditions:1/ le choix du nom et 2/ouvrir le classeur du meme nom choisi?

idem pour le seul bouton "feuille de présence' et seul bouton "bulletin"?

Je vous remercie pour votre aide.

mad+

Salut chers tous

J'ai trois classeurs A.Xlsm ; B.Xlsm et C.Xlsm contenus dans le même dossier

J'aimerais par macros Ouvrir depuis le classeur actif l'un des 2 Autres ou l'activer s'il est déjà ouvert

Par exemple le code suivant ouvre le classeur B :

Workbooks.Open Filename:=ThisWorkbook.Path & "\B.xlsm"

Je voudrais completer mon code de telle sorte que si le classeur B est deja ouvert qu'il soit activé

Merci et a plus

Salut Chers tous

J'ai un dossier A qui contient plusieurs Fichiers

Je voudrais inserer une macro dans chaque fichier qui pourra ouvrir n'importe quel autre fichier de ce dossier A

Bonjour

Ma macro doit ouvrir certains classeurs EXCEL qui sont dans une bibliothèque SharePoint

Ces classeurs sont typés avec une métadonnée qui contient le mot 'Affiche'

Elle doit importer les lignes des différents classeurs afin ensuite d'en faire une statistique récapitulative des quantités d'affiches qui sont dans les différents classeurs

Cette macro est stockée dans un module d'un tableau qui a :

  • une feuille PARAMETRES avec l'URL de la bibliothèque
  • une feuille TEMP : elle contient l'export EXCEL issu d'un affichage de la bibliothèque chaque ligne correspond aux références des différents classeurs avec en particulier le nom du fichier, les métadonnées
  • une feuille DONNEES pour récupérer les lignes détails pour les statistiques

Le traitement désiré consiste à faire une boucle pour traiter les différentes lignes de TEMP et à chaque ligne, je veux ouvrir le classeur en lecture seule et en invisible, lire les lignes et les ranger dans DONNEES (mais je n'en suis pas encore là !)

En pratique, on ouvre le premier classeur à traiter, il s'affiche alors qu'on ne voudrait pas

Si je ferme le classeur, la macro de toute façon ne continue pas à s'exécuter et la boucle s'arrête.

J'ai essayé différentes solutions de ce que j'ai vu dans les forums mais rien ne fonctionne

Voici le code actuel:

Sub IMPORTS_DONNEES()

'

' traitement des classeurs

'

i% = 2

Do While Sheets("TEMP").Cells(i%, "A") <> ""

If Right(Sheets("TEMP").Cells(i%, "D"), 7) = "Affiche" Then

chemin = Sheets("PARAMETRES").Range("A1") & Sheets("TEMP").Cells(i%, "G")

fichier = Sheets("TEMP").Cells(i%, "G")

Workbooks.Open Filename:=chemin, ReadOnly:=True

Windows(fichier).Visible = False

Workbooks(fichier).Activate

ActiveWorkbook.Close False

Else

End If

i% = i% + 1

Loop

End Sub

Merci d'avance

Bonjour,

Je vais essayer d'expliquer mon problème.

J'ai trois fichiers à ma disposition.

le fichier "astree.xlsx" contient toute les données que je dois exploiter.

J'aimerai créer une macro dans mon classeur1 qui va ouvrir le fichier "astree.xlsx" dans mon classeur 2

Dans mon classeur2 le fichier en question ne servira que de support.

J'exploiterai donc les données "astree.xlsx" dans mon classeur1.

merci d'avance

Cordialement

Arnaud

49classeur2.xls (13.50 Ko)
40classeur1.xls (17.00 Ko)
41astree.xlsx (87.68 Ko)

Bonjour,

Je viens poster un nouveau sujet car je ne m'en sors pas du tout en MACRO VBA.

J'espère que vous pourrez m'aider car moi je désespère.

Mon problème est que j'ai un classeur vierge d'ouvert, et que je dois créer une macro pour pouvoir ouvrir un classeur qui s'appelle "PDM" et copier coller le tableau (qui contient des valeurs) à l'intérieur du classeur vierge, sachant qu'il y'a 5 onglets j'aimerais que les 5 onglets soient aussi dans le classeur vierge.

Je dois faire cela car les données du classeur PDM ne sont pas en valeurs et donc ça pose problème dès que je le modifie.

Cordialement,

Mélanie Morvan

Bonjour,

Dans le but d'alléger un document Excel très volumineux ayant du mal à tourner fluidement sur mon ordinateur, je l'ai fractionné.

Concrètement j'ai créé un classeur pour les données avant le 01/01/2018 et un après.

J'ai donc dû faire des liaisons dont certaines comprennent la fonction NB.SI.

Je me retrouve forcé d'ouvrir le document source sans quoi s'affiche #VALEUR# dans mes cases avec liaison + NB.SI.

Connaitriez-vous une solution me permettant de ne pas avoir à ouvrir le classeur source ?

Bonsoir à tous,

a l'heure actuelle je génère un fichier excel que je pré-complète via le code suivant

Workbooks.Open Chemin & NewFichier

Workbooks(NewFichier).Worksheets("Projet").Range("E3") = Project_Acronym

etc...

Workbooks(NewFichier).Close True

sachant que je renseigne des cellules pré-déterminées dans des onglets connus, comment puis je procéder afin de ne pas avoir à ouvrir le fichier puis le fermer ce qui est assez lourd mais va le devenir plus en plus car j'ai plusieurs fichiers à générés de suite prochainement

j'ai bien vu que c'était possible mais a des niveaux plus élevés au mien.

comment puis je faire cela assez simplement svp?

merci par avance pour vos avis

Bonjour,

Je bloque sur un point qui doit sembler élémentaire pour beaucoup d'entre vous. Je souhaite ouvrir un second fichier se trouvant dans le même dossier que celui contenant la macro.

Ci-dessous l'extrait de code qui ne fonctionne pas.

ChDir ThisWorkbook.Path
ClasseurTest = Dir(ThisWorkbook.Path & "\" & NomFichierTest)
Workbooks.Open ClasseurTest

Merci de votre aide,

Bonjour

Quelqu'un peut m'aider? Je voudrais ouvrir plusieurs classeurs à la suite pour récupérer des données.

les classeurs se trouvent tous dans le même dossier 'C:\Users\stoec\Documents\Travail VBA\01_TIA_Excel_Dateien.xls'

Mais tout fonctionne bien jusqu'à l'ouverture du premier classeur "DB070-AlarmFlow.xlsm", le message d'erreur '1004' Désolé... Nous ne trouvons pas DB070-AlarmFlow.xlsm. Peut-être l'avez-vous déplacé, renommé ou suprimé?

Le nom du fichier? "DB070-AlarmFlow.xlsm." se trouve bien dans mon dossier. Il a fonctionné un fois pendant des corrections de code mais je ne sais pas pourquoi? Et depuis plus...

Voici le début du module jusqu'à l'erreur.

Sub Récuperer_tableaux()

Dim CD As Workbook 'déclare la variable CD (Claseur Destination)

Dim OD As Worksheet 'déclare la variable OD (Onglet Destination)

Dim CA As String 'déclare la variable CA (Chemin d'Accès)

Dim F As String 'déclare la variable F (Fichiers)

Dim DR As String 'déclare la variable DR (Fichier du nom DB)

Dim DM As String 'déclare la variable DM (Date Maximum)

Dim CS As Workbook 'déclare la variable CS (Claseur Source)

Dim OS As Worksheet 'déclare la variable OS (Onglet Source)

Dim DL As Long 'déclare la variable DL (Dernière Ligne)

Dim DEST As Range 'déclare la variable DEST (cellule de DESTination)

Dim Wbk As Workbook

Dim Fichier As String

Dim NBCAR As Long

Application.ScreenUpdating = False 'masque les rafraîchissements d'écran

Set CD = ThisWorkbook 'définit le classeur destination CD

Set OD = CD.Sheets("Données") 'définit l'onglet destination OD

CA = CD.Path & "\" 'définit le chemin d'accès CA

OD.Range("A7:AH" & Application.Rows.Count).Clear 'supprime d'éventuelles ancienne données dans l'onglet OD

DR = "DB07" 'Intitalise la recherche des noms des fichiers DR

F = Dir(CA & "DB07*.xlsm") 'définit le premier fichier F avec l'extension ".xlsm" dans le dossier CA

Do While F <> "" 'exécute tant qu'il existe des fichiers F

If Left(F, 4) > DR Then DM = Left(F, 4) Else DM = Left(F, 4) 'Défini DM pour la recherche

F = Dir 'fichier suivant, avec l'extension ".xlsm" dans le dossier CA

Loop 'boucle

F = Dir(CA & CStr(DM) & "*.xlsm") 'définit le premier fichier F commençant par DM, avec l'extension ".xlsm" dans le dossier CA

Do While F <> "" 'exécute tant qu'il existe des fichiers F

MsgBox Mid(F, 1, InStrRev(F, ".") - 1) 'Affiche le fichier trouvée

NBCAR = Len(F)

Application.Workbooks.Open Right(F, NBCAR) ici l'ouverture du premier classeur mais le message d'erreur.

37vba-recup.xlsx (10.36 Ko)

Ci-joint le code complet

Merci d'avance

Bonjour,

Je suis sur un Classeur1 excel et je veux travailler sur un Classeur2 sans l'afficher

j'ai mis "Workbooks.Open Filename:="D:\xxxx\Documents\" & WbE" et le Classeur2 s'affiche alors que je souhaiterai rester sur le Classeur1

Dans ma ligne, WbE est une variable pour donner le nom du classeur à ouvrir selon mes besoins

Comment résoudre le problème de rester sur le Classeur1 en ouvrant le Classeur2 ?

Bonjour, et bon année à tous.

Je suis nouveau dans les forums, alors excusez moi si je n'ai pas tout les codes de communication.

J'ai un problème sur le quel je butte, malgré mes nombreuses recherches sur les différents forums, et ceux malgré que plusieurs abordent plus ou moins mon sujet. Mais il doit y avoir un truc que je comprend pas.

Je souhaite dans mon fichier "Essais 1" lorsque je vais sur la feuille "Feuil3" qu'une macro se lance

pour m'ouvrir le fichier "Carnet_de_commande en cours.xlsx" (en lecture seule ou pas, qu'il soit déjà ouvert ou pas sur un autre ordinateur du réseau). je veux juste l'ouvrir sur mon ordinateur pour activer les liens entre les deux fichier. Mais s'il est déjà ouvert, il n'a rien à faire.

J'ai écrit le code suivant :

Private Sub Worksheet_Activate() Workbooks.Open Filename:="C:\SIE\SBT\Feuille de temps\Carnet_de_commande en cours.xlsx" Windows("Essais 1.xlsm").Activate Range("D10").Select End Sub

dans la Feuil3 de Microsoft Excel Objets

Cela marche très bien quand le fichier carnet de commande n'est pas ouvert, mais cela pente dès que le carnet de commande est déjà ouvert. il faudrait que je fasse une macro avec une condition qui ne fasse rien si le fichier est déjà ouvert mais c'est la que ça ne marche plus du tout.

J'espère avoir été clair

Merci d'avance pour votre aide

Hello Forum,

J'ai deux écrans dont l'un contient un classeur actif. Je souhaite ouvrir par VBA un autre classeur systématiquement sur l'écran sur lequel le classeur actif n'est pas déjà ouvert (pour faciliter une utilisation simultanée).

Comment faire ?

Merci d'avance pour vos suggestions pertinentes.

Y.

Bonjour à tous,

J'ouvre un classeur, depuis un autre classeur, ainsi :

...
Call ouvre(resultat1)
...
...
Sub Ouvre(wbMyWb As Workbook)
 Dim Nom_Fichier As Variant
 Nom_Fichier = Application.GetOpenFilename("Fichiers Excel , *.xls; *.xlsx")
 If Nom_Fichier <> False Then Set wbMyWb = Workbooks.Open(Nom_Fichier)
End Sub

Si le fichier n'est pas ouvert, tout se déroule normalement.

Si le fichier est déjà ouvert, le système affiche un message disant que le fichier est déjà ouvert et demande si l'on souhaite le réouvrir ou pas.

Si l'on clique oui, alors il réouvre et mon code continu, si l'on clique sur non il y a une erreur 400.

Je souhaiterais ne pas afficher le message disant que le fichier est déjà ouvert et simplement continuer mon code dans ce cas-là, sans réouvrir le fichier en question donc.

J'ai cherché sur le Web et ne trouve pas réellement réponse. Si quelqu'un peut m'aider...merci d'avance.

Bonsoir.

J'ai un problème pour ouvrir un fichier sur ma feuille excel.

En effet, j'ai utilisé la commande suivante:

dim Monfichier as Variant

Workbooks.OpenText Filename:=Monfichier, Origin:=xlWindow, _

StartRow:=1, DataType:=xlDelimited, semicolon:=True

Cela ouvre mon fichier, mais automatiquement dans un autre classeur, alors que je le veux sur celui avec lequel je travaille.

Du coup j'ai essayer de bidouiller mon programme mais rien n'y fait.

Quelqu'un pourrait m'éclaircir ?

Merci d'avance.

Bonsoir le forum,

Depuis un fichier maître j'ouvre un fichier xls avec 12 onglets.

J'aimerais juste copier les 12 onglet dans mon fichier maître

j'ai pondu ceci mais cela ne copie aucun onglet, j'ai du louper une marche mais je tourne en rond dessus depuis hier et je vois pas ou mon code déconne

Sub OuvrirClasseur_Copie_toutes_les_feuilles()

  Dim Fichier As String
  Dim WBA As Workbook
  Dim WBO As Workbook
  Dim LaFeuille As Worksheet
 Set WBA = ActiveWorkbook
    With Application.FileDialog(3)
        .Show

        On Error Resume Next 'si annuler

        Fichier = .SelectedItems(1)

        If Err.Number <> 0 Then Exit Sub

        Workbooks.Open Fichier
    Set WBO = ActiveWorkbook
    End With
 For Each LaFeuille In WBA.Worksheets
            LaFeuille.Copy After:=WBO.Worksheets(WBO.Worksheets.Count)
    Next

End Sub

Si vous avez une petite idée,

Merci

Salut tout le monde!

Nouveau jour, nouveau problème!

Je recherche une méthode pour fermer et ouvrir le classeur actif (ThisWorkbook) pour une raison que je vous épargne, et je me suis mis à bricoler un truc qui fonctionne a moitié :

Sub CloseOpen()
Dim X As Integer
Dim fi, fi2, ch As String
Dim Cl As Workbook
Dim VBComp As VBComponent
Set Cl = Workbooks.Add
fi = Cl.Name
fi2 = ThisWorkbook.Name
ch = ThisWorkbook.Path
Set VBComp = Cl.VBProject.VBComponents.Add(1)
VBComp.Name = "ModuleTemp"
With VBComp.CodeModule
    X = .CountOfLines
    .InsertLines X + 1, "Sub FermeFichier ()"
    .InsertLines X + 2, "Application.DisplayAlerts = False"
    .InsertLines X + 3, "Workbooks(""" & fi2 & """).Close savechanges:=False"
    .InsertLines X + 4, "Workbooks.Open Filename:=""" & ch & "\" & fi2 & """"
    .InsertLines X + 5, "ThisWorkbook.Close SaveChanges:= False"
    .InsertLines X + 6, "Application.DisplayAlerts = True"
    .InsertLines X + 7, "End Sub"
End With
Application.Run ("" & fi & "!ModuleTemp.FermeFichier")
End Sub

Voilà, donc mon fichier ce ferme bien, correspond à la ligne X+3 , mais il ne s'ouvre pas :/

C'est pas une urgence mais si quelqu'un savait d'où vient le problème, ou même une méthode pour ouvrir / fermer le fichier actif, sa serait cool !

Merci d'avance!

Bonjour à tous,

je cherche une formule (pas une macro) qui me permettrait qui d'ouvrir un classeur toujours sur la même feuille?

Auriez-vous une solution?

Merci et bon début de journée à tous

Titus

Recherches récentes

liste deroulantelisterecherche repertoire entierrecherche dossiercouleurinterdire acces feuilles classeuruboundpartager classeur macro vbacherche textedimgestion immobilisationssource tcdsuivi immobilisationscreer superieur organigrammerecherche comboboxouvrir doc word via vbaremplir signet word via vbacompiler tableauxmacro effacer formaterreur compilation type defini