fonction recherche (Supprimer 1ere ligne en conservant la formule)

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Patrick.75019

XLDnaute Occasionnel
Bonjour à tous

voici mon problème ( voir fichier joint , ce sera plus simple)

Dans ma liste , je veux rajouter 2 vins
1 vin _
"AA" avec son prix 10
et un vin_
"GG" avec son prix 15

Donc je trie la liste _"D :E "avec la macro Trier_rajout_ blanc
jusque là , ça va

Si je décide de supprimer ces 2 vins ,je commence par le Vin "GG" je le sélectinne dans le menu déroulant ,
Action de la macro ça fonctionne mes lignes conservent leur formules ,

mais quand je supprime "AA" je perd la formule de la 1ere ligne qui est differente des autres, et ça n e fonctionne plus .

si quelqu'un pouvait jeter un oeil .

je vous remercie à l'avance de votre aide


merci
 

Pièces jointes

Re : fonction recherche (Supprimer 1ere ligne en conservant la formule)

Bonjour Patrick.75019,

Voici une solution.
La modification consiste à effacer le contenu de la ligne des colonnes D à E et ensuite de trier les colonnes D à E.

Bonjour cbea

merci pour la modif , après plusieurs tests, ça à l'air d'aller , (pas de réclamation(lol)
par contre, si tu pouvais m'expliquer comment et ou , tu as fait celle-ci ,
c'est pour pouvoir la recopier dans mon projet

Pour les lignes ou il manquait quelque chose "b15" c'est peut-être moi à la création de l'exemple

merci bone fin de journée
 
Re : fonction recherche (Supprimer 1ere ligne en conservant la formule)

re,

La modification a été apportée dans la procédure "sup_vins_blancs".
Les lignes ajoutées sont commentées ci-dessous :

Code:
Sub sup_vins_blancs()
'
' sup_vins_blancs Macro
'
    Dim derLig As Long
    
    If MsgBox("Es-tu certain de vouloir supprimer ce vin ?", vbYesNo, "suppression") = vbYes Then
        With Sheets("Blanc")
            ' Récupération de la dernière ligne remplie en colonne D
            derLig = .Range("D" & Cells.Rows.Count).End(xlUp).Row
            If derLig < 2 Then derLig = 2
            
            ' Effacer le contenu de la ligne entre les colonnes D et E
            .Range(Cells([param_lignes_blancs] + 1, 4), Cells([param_lignes_blancs] + 1, 5)).ClearContents
            ' Trier les colonnes D et E
            .Range(Cells(2, 4), Cells(derLig, 5)).Sort _
                Key1:=.Range("D2"), Order1:=xlAscending, _
                Header:=xlGuess, OrderCustom:=1, _
                MatchCase:=False, Orientation:=xlTopToBottom, _
                DataOption1:=xlSortNormal
        End With
    End If
    Range("D19").Select
End Sub
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Retour