Classeur de gestion BDD

Je remercie ceux qui ont pu m'aider dans mon dernier sujet.

J'ai trouver un peu de temps pour avancer sur ce fichier mais je suis très vite bloquer.

Dans le fichier joint, je me trouve confronter à deux problèmes :

En important depuis Access, les lien hypertextes ne marche plus. J'aimerai donc qu'automatiquement, les liens hypertexte sorti d'Access (dans la colonne caché) soit opérationnel, avec si possible simplement marquer "PDF" comme lien.

Ensuite, j'aimerai pouvoir appliquer une somme à mon tableau inférieur mais deux problèmes se posent :

  • Les nouveaux produits s'ajoutent alors sous le Total (avec le code qui est fait)
  • Et je voudrai que cette ligne "total" puisse descendre au fur et à mesure que l'on ajoute des composants

Si quelqu'un peut m'aider ...

24bdd-test.xlsm (28.70 Ko)

Bonjour

Je ne sais pas gérer les recup de liens hypertexte

Par contre je te propose une formule pour les totaux par ligne, dans les deux tableaux pour lesquels j'ai rajouté une colonne quantité

Transmis à toutes fins utiles

Cordialement

FINDRH

26bdd-testv1.xlsm (25.68 Ko)

Merci de ta réponse mais ce n'est pas ce que je veux.

J'apporte quelque précision sur mon fichier :

Le tableau du haut sert uniquement de recherche dans la base de données, un double-clic sur la cellule verte permet d'ajouter dans le deuxième tableau.

Le problème est donc d'avoir le total au fond du deuxième tableau, et que cette ligne descende au fur et à mesure que j'ajoute des composants.

N'hésiter à me demander si je ne m'explique pas clairement.

Bonjour,

Pour tes liens hypertextes, tu parles de colonne cachée (il y en a plusieurs....), mais je devine qu'il s'agit de la colonne D.

De plus, les liens semblent être en double, séparés par un #

Me trompé-je?

Pour ton 2ème souci, à priori, tu masques les lignes qui ne doivent pas être recopiées, puis tu copies les lignes non masquées.

Pourquoi ne pas mettre un x par exemple en colonne G pour désigner l'article à recopier?

Et qu'entends-tu par ligne "Total"?

Uniquement la cellule contenant le total, ou toute la ligne de titres? (je ne vois pas l'intérêt de descendre toute la ligne...)

@ te relire

Effectivement les liens hypertextes sont bien ceux de la colonne D.

Je ne sais pas pourquoi ils sont doublés lors de l'import depuis Access. Je viens de faire une macro pour supprimer la deuxième partie du lien (entre les # ) mais les liens ne marchent toujours pas. Il faudrait passer par la fonction hypertexte directement dans la macro (ce qui permettrai de renomme le lien également) mais je n'y arrive pas.

Pour ce qui est du total, j'aurai voulu que la case soit directement en dessous du tableau (plus clair) mais sa empêche la copie par double-clic de bien marcher.

PS : ce document est un essai, ma base de données finale quelque milliers de références.

Re-,

Essaie ces deux codes :

Pour les liens hypertextes :

Sub Macro3()
Dim Cel As Range
Dim Lien As String
For Each Cel In Range("D4:D19")
    If Cel <> "" Then
        Lien = Mid(Cel.Value, 1, (Len(Cel.Value) / 2) - 1)
        Cel.Hyperlinks.Add Cel, Lien, , , "PDF"
    End If
Next Cel
End Sub

Et pour le total, tu modifies ton double clic ainsi (ps, j'ai mis un "x" dans la colonne G, tu pourras remettre comme tu veux en début de code...)

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If Not Intersect(Target, Cells(1, "I")) Is Nothing Then
    DerLn = Cells(20, "B").End(xlUp).Row
    For Ln = 3 To DerLn
        If Cells(Ln, 7) = "x" Then
            Lgn = Cells(Rows.Count, "B").End(xlUp).Row + 1
            Range(Cells(Ln, "A"), Cells(Ln, "C")).Copy
            Cells(Lgn, "A").PasteSpecial xlPasteValues
        End If
    Next Ln
End If
Range("G22:G40").Clear
With Cells(Lgn, 7)
    .FormulaR1C1 = "=SUMPRODUCT(R22C3:R" & Lgn & "C3,R22C6:R" & Lgn & "C6)"
    .NumberFormat = "$#,##0.00_);($#,##0.00)"
End With
Cells(1, "A").Select
End Sub

Bon courage

Merci ! Sa marche très bien ! Je n'avais pas pensé à insérer mon total dans la macro, pas bête

Pour les hypertextes sa marche aussi. Par contre on agit que sur un nombre de cellule défini (D4:D19), alors que ma liste va évoluer au cours du temps, de nouvelles références seront régulièrement ajoutées.

Comment fait-on pour "appeler" un nombre de cellules (variable), par exemple ici facilement identifiable puisqu'elles contiennent une adresse (//PC...) ? En gros appliquer la macro non pas à (D4:D19) mais à toutes les cellules qui contiennent "//PC..." ?

Bonjour,

Essaie ainsi :

Sub Macro4()
Dim Cel As Range
Dim Lien As String
For Each Cel In Range("D4:D" & Cells(Rows.Count, "D").End(xlUp).Row).SpecialCells(xlCellTypeConstants, 2)
    If Cel <> "" And Left(Cel, 4) = "\\PC" Then
        Lien = Mid(Cel.Value, 1, (Len(Cel.Value) / 2) - 1)
        Cel.Hyperlinks.Add Cel, Lien, , , "PDF"
    End If
Next Cel
End Sub

Bon W-E

Rechercher des sujets similaires à "classeur gestion bdd"