Excel Downloads
Forum

Précédent   Excel Downloads Forums > Excel > Forum Excel


Réponse
 
LinkBack Outils de la discussion
Vieux 14/10/2006, 11h51   #1 (permalink)
XLDnaute Occasionel
 
Date d'inscription: janvier 2006
Messages: 133
Par défaut [RESOLU] Ouvrir un fichier excel de par une liste de variable d'un autre classeur ?

Bonjour à touS !
Je suis toujours optimiste quand je poste sur ce forum, car je sais que quelqu'un aura un brin d'aide à me donner.
Depuis mon dernier post, j'ai beaucoup avancé dans mes fichiers, et je vous en remerci. Je peux même maintenant donner quelques conseils ! C'est pas beau ?

Soit, mon "problème"
J'ai donc Deux classeurs.
Un classeur SAISIE intervention, ou je saisi sur une feuille les renseignements du client, que je valide.
Lors de la validation, les variables nom, adresse, etc vont dans une autre feuille du meme classeur avec une jolie mise en page, s'imprime, se sauvegarde dans un dossier, et les variables se colle également dans ...
le SECOND classeur nommé BDD pour base de donnée ( sous forme de tableau )

Ce que je souhaite faire ?
Compléter la fiche d'un client en passant par le fichier BDD.

Pour exemple, le client est solutionné, je souhaite donc en cliquant sur la ligne de ce client, ouvrir le fichier sauvegardé précédemment dans un dossier.

Es ce possible ?


Merci par avance de vos conseils.
Fichiers attachés
Type de fichier : zip BDDencours.zip (14,8 Ko, 27 affichages)

Dernière modification par Jeanbulle ; 14/10/2006 à 18h40. Motif: Topic Résolu
Jeanbulle est déconnecté   Réponse avec citation
ANNONCES
Vieux 14/10/2006, 13h42   #2 (permalink)
XLDnaute Occasionel
 
Date d'inscription: avril 2006
Localisation: Ile de France sud
Version Excel : Excel 97 (PC)
Messages: 306
Par défaut Re : Ouvrir un fichier excel de par une liste de variable d'un autre classeur ?..poss

Bonjour le Forum
Bonjour Jean

Peut être avec ce code dans :

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If Range("a1").Select Then
MsgBox "Bonjour" ''' Workbooks.Open "xxxxxx.XLS"
End If
End Sub

Bien entendu tu l'adaptes

Cordialement
Eric 45 est déconnecté   Réponse avec citation
Vieux 14/10/2006, 15h41   #3 (permalink)
XLDnaute Occasionel
 
Date d'inscription: janvier 2006
Messages: 133
Par défaut Re : Ouvrir un fichier excel de par une liste de variable d'un autre classeur ?..possible?

Bonjour,
Merci pour ta réponse

Mais ca ne correspond pas vraiment en fait.

Car, ce que je n'arrive pas à faire, c'est par exemple, si je double clique sur le NOM1, qu'il mette en variable la cellule de la meme ligne qui contient le NOM, et celle qui contient APPAREIL et qu'il ouvre le fichier qui a été enregistré avec CES variables la.

Code:
For Each c In Range("A10:A30")
   ligne = c.Row
  If Cells(ligne, 1).select Then

Dim vFichier As String, vChemin As String
vChemin = "D:\disque\etc\Etc\"
With ThisWorksheets
nom = Cells(ligne, 1)
appareil = Cells(ligne, 8)
vFichier = vChemin & nom & " " & appareil
Workbooks.Open Filename:=(vFichier)
End With
end if
Next
Je cherche depuis deux heures.... je trouve pas..
Je suis pas encore au point.
Merci de ton aide
Jeanbulle est déconnecté   Réponse avec citation
Vieux 14/10/2006, 16h02   #4 (permalink)
XLDnaute Impliqué
 
Avatar de tatiak
 
Date d'inscription: février 2005
Messages: 554
Par défaut Re : Ouvrir un fichier excel de par une liste de variable d'un autre classeur ?..possible?

Bonjour Jeanbulle,
essaye un truc comme ceci qui gère le doubleclic sur une ligne :
Code:
Option Explicit

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Dim NomSelection, AppareilSelection As String
Dim vFichier As String, vChemin As String
    vChemin = "D:\disque\etc\Etc\"
    NomSelection = Cells(Target.Row, 1).Value
    AppareilSelection = Cells(Target.Row, 8).Value
    Cancel = True
    vFichier = vChemin & NomSelection & " " & AppareilSelection & ".xls"
    Workbooks.Open Filename:=(vFichier)
End Sub

Dernière modification par tatiak ; 14/10/2006 à 16h09.
tatiak est déconnecté   Réponse avec citation
Vieux 14/10/2006, 16h12   #5 (permalink)
XLDnaute Occasionel
 
Date d'inscription: janvier 2006
Messages: 133
Par défaut Re : Ouvrir un fichier excel de par une liste de variable d'un autre classeur ?..possible?

Re ...
Bon j'ai cherché, et finallement, j'ai trouvé en faisant comme ca.
Je pensais pouvoir faire plus court en fait... mais apparemment ca marche.

Code:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)

 

Dim vFichier As String, vChemin As String
vChemin = "D:\chemin\blablabla"
nom = Cells(Target.Row, 1)
appareil = Cells(Target.Row, 8)
inter = Cells(Target.Row, 6)
revendeur = Cells(Target.Row, 7)
marque = Cells(Target.Row, 9)
vFichier = vChemin & nom & " " & appareil & " " & inter & " " & revendeur & " " & marque

modif = MsgBox("Tu veux ouvrir cette fiche client ?", vbYesNo, "Modification Fiche")
If modif = vbYes Then
Workbooks.Open Filename:=(vFichier)
End If

If modif = vbNo Then
Exit Sub
End If
End Sub
Voilà, merci pour ton aide en tout cas Eric. Et si quelqu'un trouve mieux que ce code, merci de me le faire savoir.

Bonne journée, je repasse plus tard
Jeanbulle est déconnecté   Réponse avec citation
Vieux 14/10/2006, 16h14   #6 (permalink)
XLDnaute Occasionel
 
Date d'inscription: mars 2006
Messages: 390
Par défaut Re : Ouvrir un fichier excel de par une liste de variable d'un autre classeur ?..possible?

Bonjour à tous,

avec ce code (le tien réaménagé) ça devrait aller :
Code:
Dim vFichier As String, vChemin As String
Set mafeuille = ActiveSheet
With mafeuille
    For Each c In .Range("A10:A30")
        ligne = c.Row
        If Not (IsEmpty(.Cells(ligne, 1))) Then
            vChemin = "g:\fora\"
            nom = .Cells(ligne, 1)
            appareil = .Cells(ligne, 8)
            vFichier = vChemin & nom & " " & appareil
            Workbooks.Open Filename:=(vFichier)
        End If
    Next
End With
mafeuille.Activate
en fait tu perdais l'activation de ta feuille d'origine à l'ouverture de ton premier fichier.

A+
ODVJ est déconnecté   Réponse avec citation
Vieux 14/10/2006, 16h15   #7 (permalink)
XLDnaute Occasionel
 
Date d'inscription: janvier 2006
Messages: 133
Par défaut Re : Ouvrir un fichier excel de par une liste de variable d'un autre classeur ?..possible?

Ah merci à toi aussi Tatiak ! J'avais pas vu ton post.
Mais dis moi... question bête..
Le fait de déclarer en string ? qu'es ce que ca signifie exactement ?
Et le fait de mettre cancel as boolean, cancel = True ?

Merci pour ton coup de patte
Jeanbulle est déconnecté   Réponse avec citation
Vieux 14/10/2006, 16h24   #8 (permalink)
XLDnaute Impliqué
 
Avatar de tatiak
 
Date d'inscription: février 2005
Messages: 554
Par défaut Re : Ouvrir un fichier excel de par une liste de variable d'un autre classeur ?..possible?

Hello,
Ici le string n'as rien d'érotique, il s'agit seulement d'une chaine de caractère (... et c'est bien connu, là où il y a de la chaine, y a pas de plaisir...)
... Heum ..., plus sérieusement l'instruction "Cancel = true" permet au curseur de ne pas "entrer" dans la cellule doublecliquée.
tatiak est déconnecté   Réponse avec citation
Vieux 14/10/2006, 16h47   #9 (permalink)
XLDnaute Occasionel
 
Date d'inscription: janvier 2006
Messages: 133
Par défaut Re : Ouvrir un fichier excel de par une liste de variable d'un autre classeur ?..possible?

Bonne réponse pour le string merci

Quant au cancel, il me faut pouvoir modifier le reste de la fiche.
Puisque sur le fichier exemple, je n'ai rien mis, mais il y aura un tas de saisie sur d'autres cellules.

Mais puisque je ne veux pas non plus que l'on modifie ces cases la.
Es t il possible que ce code ne s'applique QUE si nous cliquons dans la colonne NOM ?

Si ce n'est pas possible, rien de grave, le fichier est déjà pas mal du tout.

Merci encore
Jeanbulle est déconnecté   Réponse avec citation
Vieux 14/10/2006, 17h06   #10 (permalink)
XLDnaute Impliqué
 
Avatar de tatiak
 
Date d'inscription: février 2005
Messages: 554
Par défaut Re : Ouvrir un fichier excel de par une liste de variable d'un autre classeur ?..possible?

Ben oui, pour ça il suffit de rajouter ceci :
Code:
Option Explicit

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Dim NomSelection, AppareilSelection As String
Dim vFichier As String, vChemin As String
    vChemin = "D:\chemin\tructruc\"
    If Not Intersect(Range("A1:A" & Range("A65000").End(xlUp).Row), Target) Is Nothing Then
        NomSelection = Cells(Target.Row, 1).Value
        AppareilSelection = Cells(Target.Row, 8).Value
        Cancel = True
        vFichier = vChemin & NomSelection & " " & AppareilSelection & ".xls"
        Workbooks.Open Filename:=(vFichier)
    End If
End Sub
tatiak est déconnecté   Réponse avec citation
Vieux 14/10/2006, 17h08   #11 (permalink)
XLDnaute Impliqué
 
Avatar de tatiak
 
Date d'inscription: février 2005
Messages: 554
Par défaut Re : Ouvrir un fichier excel de par une liste de variable d'un autre classeur ?..possible?

Par ailleurs, le "cancel=true" n'empêche pas de modifier le contenu de la cellule par un clic simple!
tatiak est déconnecté   Réponse avec citation
Vieux 14/10/2006, 17h40   #12 (permalink)
XLDnaute Occasionel
 
Date d'inscription: janvier 2006
Messages: 133
Par défaut Re : Ouvrir un fichier excel de par une liste de variable d'un autre classeur ?..possible?

Bravo ! Ton code marche niquel.
Le mien aussi fonctionne, mais sur toutes les cellules.
Je vais donc probablement opter pour le tien, mais au vu de faire des modifications dessus, peux tu, si ce n'est pas abuser, rajouter les commentaires explicatifs.
Car, je comprends la logique de mon code, mais le tiens, j'avou que j'ai plus de mal.

Merci en tout cas c'est vraiment sympa
Jeanbulle est déconnecté   Réponse avec citation
Vieux 14/10/2006, 18h14   #13 (permalink)
XLDnaute Impliqué
 
Avatar de tatiak
 
Date d'inscription: février 2005
Messages: 554
Par défaut Re : Ouvrir un fichier excel de par une liste de variable d'un autre classeur ?..possible?

Je suppose que c'est cette ligne qui te soucie?:

If Not Intersect(Range("A1:A" & Range("A65000").End(xlUp).Row), Target) Is Nothing Then

pour commencer : Range("A65000").End(xlUp).Row correspond à la dernière ligne occupée par des données de la colonne A (et on demande ici à Excel de commencer la recherche par le bas de la colonne : end(xlup)) (pour être précis il faudrait écrire 65536, mais c'est rare qu'on aille jusqu'ici ... en tout cas pour mes appli)

donc : Range("A1:A" & Range("A65000").End(xlUp).Row) correspond à la zone de données de la colonne A occupée par des données

La ligne complète signifie donc : "si le doubleclic n'est pas fait ailleurs que dans la zone de noms alors le code suivant est exécuté" (double négation)

Pour le reste du code, on place le contenu des cellules dans une variable (en plusieurs bouts) pour constituer le nom du fichier à ouvrir, mais là tu avais déjà écrit un truc dans ce style

Bon week-end!
tatiak est déconnecté   Réponse avec citation
Vieux 14/10/2006, 18h39   #14 (permalink)
XLDnaute Occasionel
 
Date d'inscription: janvier 2006
Messages: 133
Par défaut Re : Ouvrir un fichier excel de par une liste de variable d'un autre classeur ?..possible?

Tatiak ?
Je te dois combien pour cette consultation ?

Grand merci, j'ai bien compris tout ton code, et vais pouvoir le modifier à ma guise.
Bon week end, j'édite le topic en résolu

Grand merci encore !
Jeanbulle est déconnecté   Réponse avec citation
ANNONCES
Réponse

Liens sociaux

Outils de la discussion

Règles de messages
Vous ne pouvez pas créer de nouvelles discussions
Vous ne pouvez pas envoyer des réponses
Vous ne pouvez pas envoyer des pièces jointes
Vous ne pouvez pas modifier vos messages

Les balises BB sont activées : oui
Les smileys sont activés : oui
La balise [IMG] est activée : oui
Le code HTML peut être employé : non
Trackbacks are oui
Pingbacks are oui
Refbacks are oui

Discussions similaires
Discussion Auteur Forum Réponses Dernier message
Comment adapter des liens d'un classeur excel vers un autre classeur excel : '[] lebarbo Forum Excel 2 24/07/2006 14h55
ouvrir un fichier autre que Excel par VBA etpisculrien Forum Excel 5 23/05/2006 09h34
Ouvrir un fichier excel à partir d'un autre fichie Cybher Forum Excel 10 31/03/2005 22h50
ouvrir un userform d'un autre classeur daniel Forum Excel 3 29/03/2005 16h29
ouvrir un fichier d'un logiciel autre que excel en partant de VB didier Forum Excel Downloads - Archives 7 21/08/2002 16h02


Fuseau horaire GMT +2. Il est actuellement 01h02.


(C) 2006 Excel Downloads