Suppression de données

  • Initiateur de la discussion Initiateur de la discussion olette
  • Date de début Date de début

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 !

O

olette

Guest
Bonjour,

Je construit une base de données (fichier client) et j'ai un petit probleme de trou ...
Je m'explique : J'ai une commande qui me permet de supprimer les informations dans ma base de données mais je souhaiterai qu'une fois que la ligne est vide, les données se trouvant dans les lignes sous-jacentes "remonte" dans mon tableau et comblent les trous ...

Auriez vous une solution ?

Merci d'avance
 
Bjr,



Il faut effectuer un tri.
Le code d'un tri en vba :




'code pour trier les données

Range("La plage de cellule").Sort , Key1:=Range("H3"), Order1:=xlAscending, Header:=xlGuess, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom




Voila ce que j'utilise .



@mic@lement, romfret
 
Re,



je remet le code avec une précision en + :




'code pour trier les données

Range("Ta plage de cellule").Sort , Key1:=Range("la collone par laquelle tu veux ranger les lignes "), Order1:=xlAscending, Header:=xlGuess, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom


Voila @+ ROMFRET
 
Romfret,

Merci pour le tuyau mais cela ne repond pas à toutes mes attentes ...
En effet, meme en effectuant un tri, chacun de mes clients porte un numéro et si mes données remontent, je vais me retrouver avec une numero tout à la fin de ma liste qui n'a aucune donnée ...
 
Bonjour Olette,

Tu peux aussi ajouter cette macro qui te donnes la possibilité de supprimer une ligne ou non.

Sub DeleteItem()
' Macro pour supprimer un enregistrement
'
Dim a
a = MsgBox("Voulez-vous vraiment supprimer l'enregistrement sélectionné?", vbYesNo + vbQuestion, "Supprimer")
'Message d'avertissement de suppression d'un enregistrement
If a = vbYes Then ' L’utilisateur a choisit Yes.
Selection.EntireRow.Delete 'Supprime la ligne.
End If ' L’utilisateur a choisi No.
End Sub

@+

Dan
 
Bonjour,
Tu peux utiliser la fonctionnalité données, grille : de là tu peux, entre autres, rechercher des lignes et les supprimer. Cela tasse automatiquement.
Sinon il faudrait repartir de la commande qui supprime les données et la compléter mais tu n'as pas précisé quelle manip ou quel code tu utilises.
Chris
 
Voilà ma fonction supprime

Private Sub CommandButton1_Click

Application.ScreenUpdating = False

i=0
A=ComboBox1
Sheets("Archives").Select
Range ("B6").Select 'Première case ou j'ai un nom client
Do
If ActiveCell.Value = A Then GoTo Supprime Else ActiveCell.Offset (1, 0).Select
Loop Until ActiveCell.Value = A

Supprime :

Selection.ClearContents
ActiveCell.Offset (0, 1).Select
....
...

Application.ScreenUpdating = True

End Sub



Voilà pour le code, il y a surement plus siple mais on fait avec ce qu'on connait 😉

Merci d'avance si tu as une solution

Olette
 
Salut Olette !

Pourquoi ne pas supprimer tout de suite la ligne, au lieu de la vider, puis ensuite de la vider :

En tout cas voilà une macro que j'utilise, à toi de l'adapter :

Sub DeleteUn()

I = 1
While Range("A3").Offset(I).Value <> ""
If Range("A3").Offset(I).Value = 1 Then
Range("A3").Offset(I).EntireRow.Delete

I = I - 1
End If
I = I + 1
Wend

End Sub

@ +

Moa
 
Olette,

Pourquoi n'introduis-tu pas la macro que je te propose (post de 15h37) à la place de celle que tu as faite dans "Supprime", car si je comprends bien tu voudrais supprimer la ligne si dans une même colonne, la cellule active contient la valeur A.


@+

Dan
 
- 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
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
5
Affichages
433
Retour