Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1574 connectés 

  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  Je souhaite une macro qui ouvre un fichier excel. Résolu Merci

 



 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Je souhaite une macro qui ouvre un fichier excel. Résolu Merci

n°2202041
tispirit
Posté le 06-09-2013 à 13:23:20  profilanswer
 

Bonjour,
 
Je souhaite une macro qui ouvre un fichier excel.
Tous les cellules ont un nom différent, mais la même colonne la H2 jusqu' a l'infini.
Vers le même chemin x:\feuille de lancement\a4
 
les fichiers sont du type 15084.xlsm
15085.xlsm ect....
 
je voudrais que quand on clic dessus qu'il s'ouvre.
 
Merci a vous


Message édité par tispirit le 10-09-2013 à 13:05:57
mood
Publicité
Posté le 06-09-2013 à 13:23:20  profilanswer
 

n°2202072
Marc L
Posté le 06-09-2013 à 15:58:06  profilanswer
 

 
          http://feeclochette26.f.e.pic.centerblog.net/3u1vjbc1.gif   Et la marmotte met le chocolat dans le papier alu ‼
 
 
           Bonjour,
 
           voir les règles du forum
 
           En clair, c'est un forum de programmeurs, pas de j'y viens passer ma commande !
 
           Pour débuter, l'Enregistreur de macros ainsi que l'aide intégrée d'Excel et du VBA sont vos amis …
  

n°2202098
tispirit
Posté le 06-09-2013 à 18:01:06  profilanswer
 

bonjour
 
Lol j'aime beaucoup.  
 
Donc on va repartir sur des bonne bases.
 
J'appelle sa une feuille de lancement.
Certaine cellule sont reporté sur une ligne dit historique.
 
En programmant moi même sans passer commande
 
La c2, c4, c8, c12, c24 et e24sur une ligne dans la liste enregistré et sauvé suivant les nom des cellule variantes (bien sur) sans passer commande.
 
Mais dans le fichier liste avec les hyperliens (en cliquant dessus) il est impossible que le fichier s'ouvre dans la destination demandé.  
 
 
Question comment je peu faire pour que les lien arrive au fichier? x:\feuille de lancement\a4  
 
 
le fichier
https://mega.co.nz/#!x8w2CIAR!PLNT7 [...] kK4xzabdC4
 
 
Voici la macro
 
Sub Engistré()
 
 
 
Windows("LANCEMENT 2009 (version 1) alpha test.xlsm" ).Activate
Sheets("Liste" ).Select
 
 Rows("1:1" ).Select
    Range("B1" ).Activate
    Selection.Copy
    Rows("2:2" ).Select
    Range("B2" ).Activate
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Application.CutCopyMode = True
 
ThisWorkbook.Activate
 
Range("B65536" ).End(xlUp).Rows.Activate
If ActiveCell.Value = "" Then
  Range("B2:H2" ).Copy Destination:=ActiveCell.Value
Else
  Range("B2:H2" ).Copy Destination:=ActiveCell.Offset(1, 0)
End If
   
 
Windows("LANCEMENT 2009 (version 1) alpha test.xlsm" ).Activate
   
  Sheets("REN DOS" ).Select
   
  ActiveWorkbook.Save
 
 
 
Windows("LANCEMENT 2009 (version 1) alpha test.xlsm" ).Activate
     
  Sheets("REN DOS" ).Select
    ActiveWorkbook.Save
   
 
 Windows("LANCEMENT 2009 (version 1) alpha test.xlsm" ).Activate
   
  Sheets("REN DOS" ).Select
   
  ActiveWorkbook.Save
   
 
  Sheets("REN DOS" ).Select
    ActiveWorkbook.SaveCopyAs Filename:=[C4].Value & ".xls"
  ActiveWorkbook.Save
  Sheets("REN DOS" ).Select
    ChDir "X:\Feuille de lancement\A4\"
    ActiveWorkbook.SaveCopyAs Filename:=[E24].Value & ".xls"
    Application.DisplayAlerts = True
    MsgBox ("Votre fichier a bien été enregistré" ) 'Fenêtre d'information
     
     
   
    Exit Sub
End Sub
 
 
 
 

n°2202109
Marc L
Posté le 06-09-2013 à 20:05:34  profilanswer
 

 
           Merci d'utiliser la prochaine fois l'icône C dédiée pour encadrer le code …
 
           Je pensais avoir compris lors du premier message mais le contenu du second me laisse dubitatif …
 
           Voici un exemple facilement adaptable à copier dans le module de classe de la feuille contenant les noms de fichiers.
           Par un double-clic, si le fichier existe alors il est ouvert …
 

Code :
  1. Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
  2.     If Target.Count = 1 Then
  3.         If Dir$(Target.Value) > "" Then
  4.             Cancel = True
  5.             Workbooks.Open Target.Value, 0
  6.         End If
  7.     End If
  8. End Sub

 

n°2202441
tispirit
Posté le 10-09-2013 à 12:36:05  profilanswer
 

Bonjour  
 
dsl du retard.
 
J'ai pu l'intégré a ma macro.
 
erreur Sub
 

Code :
  1. Sub Engistré()
  2. Sheets("Liste" ).Select
  3. Rows("1:1" ).Select
  4.     Range("B1" ).Activate
  5.     Selection.Copy
  6.     Rows("2:2" ).Select
  7.     Range("B2" ).Activate
  8.     Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
  9.         :=False, Transpose:=False
  10.     Application.CutCopyMode = False
  11. ThisWorkbook.Activate
  12. Range("B65536" ).End(xlUp).Rows.Activate
  13. If ActiveCell.Value = "" Then
  14.   Range("B2:H2" ).Copy Destination:=ActiveCell.Value
  15. Else
  16.   Range("B2:H2" ).Copy Destination:=ActiveCell.Offset(1, 0)
  17.  
  18.     Rows("2:2" ).Select
  19.     Range("B2" ).Activate
  20.     Selection.Copy
  21.     Workbooks.Open Filename:="X:\Feuille de lancement\liste.xlsm"
  22.     Rows("1:1" ).Select
  23.     Range("A2" ).Activate
  24.     ActiveSheet.Paste
  25.     Application.CutCopyMode = False
  26.     Range("B65536" ).End(xlUp).Rows.Activate
  27. If ActiveCell.Value = "" Then
  28.   Range("B2:H2" ).Copy Destination:=ActiveCell.Value
  29. Else
  30.   Range("B2:H2" ).Copy Destination:=ActiveCell.Offset(1, 0)
  31.     ActiveWorkbook.Save
  32.     ActiveWindow.Close
  33.     ActiveWorkbook.Save
  34.    
  35.     End If
  36.  
  37.   Sheets("REN DOS" ).Select
  38.  
  39.   ActiveWorkbook.Save
  40.  
  41.   Sheets("REN DOS" ).Select
  42.  
  43.     ChDir "X:\Feuille de lancement"
  44.     ActiveWorkbook.SaveCopyAs Filename:=[C4].Value & ".xls"
  45.        
  46.   ActiveWorkbook.Save
  47.  
  48.   Sheets("REN DOS" ).Select
  49.     ChDir "X:\Feuille de lancement\A4\"
  50.     ActiveWorkbook.SaveCopyAs Filename:=[F24].Value & ".xls"
  51. Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
  52.     If Target.Count = 1 Then
  53.         If Dir$(Target.Value) > "" Then
  54.             Cancel = True
  55.             Workbooks.Open Target.Value, 0
  56.         End If
  57.     End If
  58. End If
  59.     Application.DisplayAlerts = True
  60.     MsgBox ("Votre fichier a bien été enregistré" ) 'Fenêtre d'information
  61.        
  62.     Exit Sub
  63. End Sub


 
en retirant "Private Sub" la ligne devient rouge. bizarre


Message édité par tispirit le 10-09-2013 à 12:37:20
n°2202443
Marc L
Posté le 10-09-2013 à 12:54:23  profilanswer
 

 
           Ouh la la la la ‼‼   On ne peut pas placer une procédure dans une autre ‼
 

Code :
  1. Sub Engistré()
  2.     { code }
  3. End Sub
  4. Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
  5.     If Dir$(Target.Value) > "" Then Cancel = True: Workbooks.Open Target.Value, 0
  6. End Sub


           Et, comme déjà indiqué, le code de l'évènement BeforeDoubleClick ne doit pas être dans un module normal
           mais dans le module de classe de la feuille (par exemple Feuil1) …
 

n°2202447
tispirit
Posté le 10-09-2013 à 13:05:05  profilanswer
 

Ha ok merci beaucoup!


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  Je souhaite une macro qui ouvre un fichier excel. Résolu Merci

 

Sujets relatifs
Fixer le nombre de caractères par ligne d'un fichier[BASH] couper un fichier à une ligne précise
Readfile sur fichier de cache volumineuxrépartition de livraisons sous excel
créer un fichier xml et l'afficher dans un emplacement bien déterminé[EXCEL] Calcul de prono pour le foot :p
Script qui ouvre une pop-up à la perte réseaumkdir avec une espace dans le nom de fichier dans un script.
VBA Excel, ouvrir une seule feuille d'un WorkbookEXCEL 2010 PROBLEME DE PROGRAMATION BDCDE
Plus de sujets relatifs à : Je souhaite une macro qui ouvre un fichier excel. Résolu Merci


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR