Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Excel > Macros et VBA Excel
Macros et VBA Excel Vos questions relatives aux macros Excel, à l'utilisation de VBA et à l'automatisation de vos classeurs Excel.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 15/11/2011, 13h32   #1
Nouveau Membre du Club
 
Inscription : octobre 2011
Messages : 106
Détails du profil
Informations forums :
Inscription : octobre 2011
Messages : 106
Points : 38
Points : 38
Par défaut lien hypertexte automatique

Bonjour à tous,
Je cherche un moyen d'automatiser un lien hypertexte sur des fichiers enregistrés.

Je m'explique : J'ai un devis rédigé sur une feuille excel et enregistré dans un répertoire (dans l'exemple F:\Atest\) .

Dans le code utilisé, en plus d'enregistrer une copie du devis, j'archive sur une feuille d'un autre classeur (WB("Devisprovisoire").DP!) des données de ce devis. (les données sont N°Devis, Date du Devis, Nom Client, Indice, Montants).

J'aimerai que le N°Devis soit en lien hypertexte avec la feuille Devis enregistrée dans le repertoire.

J'ai essayé d'intégrer un code de lien hypertexte dans le mien ça ne marche pas
Code :
1
2
3
4
5
6
7
8
9
Sub lienhypertexte()
'
' lienhypertexte Macro
    Range("A10").Select
    ActiveSheet.Hyperlinks.Add Anchor:=Selection, Address:= _
        "SDV-2011-1114-1%20A.C.B.Activité%20Construction%20Batiment.xlsx", _
        TextToDisplay:="SDV-2011-1114-1"
 
End Sub
Je ne sais pas bien comment déclarer les variables pour que cela marche automatiquement.

Voici le code de sauvegarde et d'archivage dans lequel je voudrai inclure ce lien hypertexte.
Code :
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
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
Sub A_Devis()
 
'Do
    'Nb_Ex = InputBox("Nombre d'exemplaires (>1) :", "Impression", 2)
    'Loop Until Nb_Ex >= 2
'If Not (IsNumeric(Nb_Ex)) Then Exit Sub
 
Repertoire = Sheets("Menu").Range("C9").Value
    Num_Fact = Range("F19").Value
    Nom_client = Range("J13").Value
 
ActiveSheet.Copy
 
Cells.Copy
Cells.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
 
Range("A1").Select
 
'ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
'Range("J10").Value = "Duplicata Devis"
 
'ActiveWindow.SelectedSheets.PrintOut Copies:=Nb_Ex - 1, Collate:=True
'Range("K10").Value = "Devis"
 
'Application.DisplayAlerts = False
    ActiveWorkbook.SaveAs Repertoire & Num_Fact & " " & Nom_client & ".xlsx"
ActiveWorkbook.Close
Application.DisplayAlerts = True
 
Call A_infosdevis
 
ThisWorkbook.Activate
 
    Sheets("Menu").Activate
    Range("C10").Value = Range("C10").Value + 1
 
 
 
MsgBox "Le devis n° " & Num_Fact & vbCrLf & " pour le client " & Nom_client & vbCrLf & " a bien été archivé.", vbInformation + vbOKOnly, "Archivage devis"
 
 
End Sub
 
Sub A_infosdevis()
 
Num_Fact = Range("F19").Value
    Date_Fact = Range("L5").Value
        Nom_client = Range("J13").Value
            Montant_DevisHT = Range("M57").Value
                Montant_DevisTTC = Range("M59").Value
                Indice_Devis = Range("G19").Value
 
Application.Workbooks.Open "f:\Atest\Devisprovisoire.xlsx"
 
Sheets("DP").Activate
    Range("A1").Select
If Range("A2").Value <> "" Then ActiveCell.End(xlDown).Select
ActiveCell.Offset(1, 0).Select
 
        ActiveCell.Value = Num_Fact
      ActiveCell.Offset(0, 1).Value = Date_Fact
      ActiveCell.Offset(0, 2).Value = Nom_client
      ActiveCell.Offset(0, 3).Value = Indice_Devis
      ActiveCell.Offset(0, 4).Value = Montant_DevisHT
      ActiveCell.Offset(0, 5).Value = Montant_DevisTTC
 
 
ActiveWorkbook.Saved = False
 
ActiveWorkbook.Close
 
 
End Sub
Bon pour finir je mets en pièces jointes les classeurs concernés...
Modèle devis vba.xlsx Devisprovisoire.xlsx

Si quelqu'un à le courage de me renseigner merci d'avance.
tompom3108 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 13h21.


 
 
 
 
Partenaires

Hébergement Web