Somme automatique en double clic

Bonjour,

j'ai un document qui me permet de faire des devis joint à mon post.

Ce que je veux obtenir :

- Lors du double clic sur la colonne C, il y ait l'insertion d'une ligne (décalage en dessous des autres lignes) -> Fait

- Qu'il y ait une recherche sur la colonne G en partant de la nouvelle ligne créee jusqu'a la prochaine ligne vide et un sous total fait sur la nouvelle ligne.

C'est cette fonction sur laquelle je séche. Le reste je peux le gérer mais je n'ai aucune idée de comment m'y prendre.

J'attends vos conseils avisés

Bonjour et bonne année,

Merci de joindre un fichier à ta demande.

Cdlt.

Oups, je croyais l'avoir joint mais apparemment non.

Cette fois c'est bon

Re,

Pourquoi ne travailles-tu pas avec un tableau dynamique (Mettre sous forme de tableau)?

Tes questions seront résolues à 90%.

Cdlt.

Je ne connais pas trop, mais on m'avait dit qu'on ne pouvait rien modifier dans un TCD.

Je vais faire des recherches sur le net à ce sujet.

Effectivement, l'utilisation des TCD est interressante et pourrais résoudre mon problème.

Cela dit, il faut actualiser manuellement le TCD et cela me pose un gros soucis car si je ne pense pas à le faire, je peux me planter complétement dans mon devis.

Y a t'il des solutions ou bien la première idée que j'avais resterais la meilleure à tenter de mettre en place ?

Bonjour,

ALT F11 pour ouvrier l'éditeur VBE

Tu Copies la procédure ci-dessous dans le module de feuille qui comporte le TCD.

Le TCD sera actualisé automatiquement à l'activation de sa feuille.

Cdlt.

Option Explicit

Private Sub Worksheet_Activate()
    Me.PivotTables(1).PivotCache.Refresh
End Sub

Merci, cela fonctionne très bien.

Y a t'il la possibilité d'aller chercher directement les sous totaux que je veux dans le TCD ?

Par exemple rechercher les noms des catégories différentes, trouver la ligne correspondante dans le TCD et récuperer le prix brut HT et le prix net HT (ce sont les 2 seules colonnes dans mon TCD) pour les insérer dans mon onglet prévisionnel, sous les catégories correspondantes.

Bonjour,

merci de joindre un fichier.

Cdlt.

Bonjour,

Voici l'exemple.

Je me perds dans la création de la macro mais je pense que vous comprendez l'idée.

Merci

Bonjour,

Je dois avouer que je comprends pas ce que tu veux faire.

Vois le fichier et redis moi.

Cdlt.

Par rapport à mon exemple :

  • Quand je double clique sur une case de la colonne B, j'insère une ligne en copiant la catégorie de la ligne du dessus. -> Fait
  • Je veux ensuite faire une recherche dans mon tableau croisé dynamique d'une occurence de ma nouvelle ligne colonne B -> pas fait
  • une fois l'occurence trouvée, je veux copier le sous total brut et le sous total net dans des cellules de ma nouvelle ligne.

Ainsi avec un double clic j'ai tout de suite le sous-total de ma catégorie qui s'affiche dans mon onglet prévisionnel.

Bonjour,

J'avoue ne rien comprendre!

Cdlt.

Dans l'onglet Prévisionnel, quand je double clic sur la cellule B11, je veux insérer une ligne et avoir au final le même résultat que dans l'onglet Prévisionnel (2). J'ai surligné en rouge la ligne que je veux avoir.

Mon problème étant d'obtenir les sous-totaux, je sais faire le reste.

J'ai finalement réussi ce que je voulais :

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

    Dim Lg%
    Dim Cat

        If Not Application.Intersect(Target, Columns("C")) Is Nothing Then

            If Target.Count > 1 Then Exit Sub
                Lg = Target.Row - 1
                Rows(Lg + 1).Copy
                Range(Rows(Lg + 1), Rows(Lg + 1)).Insert
                Range("A" & Lg + 2).ClearContents
                Range("B" & Lg + 2).Font.ColorIndex = 2 'couleur de texte blanche
                Cat = Range("B" & Lg + 2).Value
                Range("C" & Lg + 2, "O" & Lg + 2).ClearContents
                Application.CutCopyMode = False
                On Error Resume Next 'si ligne vide
                Range("E" & Lg + 2).Value = ("Sous-Total " & Cat & " :")
                Range("E" & Lg + 2).Font.Bold = True ' mise en forme du texte en gras

                ThisWorkbook.RefreshAll 'MàJ du TCD

                With Sheets("Prévisionnel")
                    .Range("G" & Lg + 2).Value = WorksheetFunction.VLookup(.Range("B" & Lg + 2).Value, Sheets("TCD").Range("A1:C100"), 2, False) 'RechercheV en VBA
                    .Range("G" & Lg + 2).Font.Bold = True ' mise en forme du texte en gras
                    .Range("G" & Lg + 2).EntireColumn.AutoFit 'Largeur de la colonne auto
                    .Range("I" & Lg + 2).Value = WorksheetFunction.VLookup(.Range("B" & Lg + 2).Value, Sheets("TCD").Range("A1:C100"), 3, False) 'RechercheV en VBA
                    .Range("I" & Lg + 2).Font.Bold = True ' mise en forme du texte en gras
                    .Range("I" & Lg + 2).EntireColumn.AutoFit 'Largeur de la colonne auto
                End With

        End If

    End Sub

Si vous avez des idées pour faire des simplifications je suis preneur.

J'ai un soucis de stabilité aussi. Excel plante régulièrement avec un message d'erreur : "La méthode 'Insert' de l'objet 'Range' a échoué."

Rechercher des sujets similaires à "somme automatique double clic"