Macro Rechercher et Supprimer une ligne d'une autre feuille

  • Initiateur de la discussion Initiateur de la discussion johnmcbeer
  • 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 !

J

johnmcbeer

Guest
Bonjour, j'aurai besoin d'aide pour une macro, je vais essayé de vous expliqué le plus clairement possible.

J'ai une feuille que l'on appelera "Rentrer" dans cette feuille j'ai une ligne avec 5 collones, qui se nome "Ref","Titre du livre","Matricule","Classe","Rentré par"
En fait pour le moment lorsque je rentre la reference j'obtient le titre du livre, le matricule, la classe et rentré par, tous cela par fonction rechercheV qui va rechercher les info dans 2 feuilles différentes, pour tous cela il n'y a aucun soucis, c'est ici que cela se complique je voudrais une macro qui va recherche la référence mise plus haut dans l'énoncé dans une autre feuille que l'on va appeler "Emprunt en cours" une fois la cellule trouvée je voudrais qu'elle séléctionne les 5 cellule a sa droite y compris la cellule reference (donc 6 cellule en tous), ensuite supprime ces 6 cellules et se replace la la feuille de depart c'est a dire "Rentrer".

Je sais que cela n'est pas facile a comprendre j'espere que vous pourez m'aider, merci.
 
Re : Macro Rechercher et Supprimer une ligne d'une autre feuille

Bonjour johnmcbeer, Staple1600

Dans l'exemple en PJ, entre une référence dans la colonne A de la feuille "Rentrer" et valide :

Si c'est une réf connue, une msgbox te demande de confirmer la suppression de la ligne, si OK suppression effective de cette ligne sur la feuille "Emprunt en Cours", si pas OK rien ne se passe.

Si réf inconnue, idem une msgbox t'informe de l'erreur.

Pour voir le code, click droit sur l'onglet de la feuille "Rentrer", puis visualiser le code.

A+
 

Pièces jointes

Re : Macro Rechercher et Supprimer une ligne d'une autre feuille

Je n'ai pas encore regarder le code du fichier que tu m'as envoyé mais je tiens a te remercier pour ta rapidité, je regarde le fichier des que je peux et te dirai si c'est bien cela que j'attendais, si pas je te joindrai mon fichier.
Mais merci, cela fait tres plaisir de voir des personnes aussi sympa 😉

[EDIT] Voila j'ai regardé ton fichier et cela fait presque ce que je désiré, je joint mon une partie de mon fichier avec quelque annotation en esperant que cela puisse te facilité la vie a toi ou d'autre, merci pour tous.
 

Pièces jointes

Dernière modification par un modérateur:
Re : Macro Rechercher et Supprimer une ligne d'une autre feuille

Re,

Voici le code modifié, à mettre dans un module de code standard. Ensuite click droit sur ton bouton de ta feuille "Rentrée" et choisir "Affecter une macro". Dans la liste, sélectionne la macro Efface_Ref.

Code:
Sub Efface_Ref()

Dim c As Range, Ref

Ref = Sheets("Rentrée").Range("B5")
Set c = Sheets("Emprunt en cours").Range("B5:B" & Sheets("Emprunt en cours").Range("B65536").End(xlUp).Row).Find(Ref, LookAt:=xlWhole)
If Not c Is Nothing Then
   If MsgBox("La ligne correspondant à cette référence : " & Ref & " va être supprimée." & vbCrLf & _
      "Confirmez-vous ?", vbInformation + vbYesNo, "Attention:") = vbYes Then Sheets("Emprunt en cours").Range("B" & c.Row & ":G" & c.Row) = ""
Else: MsgBox "Référence inconnue", , "Erreur sur la référence :"
End If

End Sub
A+
 
Re : Macro Rechercher et Supprimer une ligne d'une autre feuille

Merci c'est exactement ce que je voulais mais j'avais omis un gros detail, j'ai regardé pour essayé de réglé le probleme mais sans resultat 🙁
en fait j'aurai voulu que toutes les cellules qui se trouve en dessous de celle supprimé remonte d'une ligne afin de ne pas avoir de trous dans mon listing, j'épspére que tu pouras m'aider.

PS: désolé de ne pas avoir répondu plus vite mais je taff bcp en ce moment.
 
Re : Macro Rechercher et Supprimer une ligne d'une autre feuille

Re,

Essaye comme ceci :

Code:
Sub Efface_Ref()

Dim c As Range, Ref
Dim derlign As Integer

Ref = Sheets("Rentrée").Range("B5")
With Sheets("Emprunt en cours")
   Set c = .Range("B5:B" & .Range("B65536").End(xlUp).Row).Find(Ref, LookAt:=xlWhole)
      If Not c Is Nothing Then
          If MsgBox("La ligne correspondant à cette référence : " & Ref & " va être supprimée." & vbCrLf & _
             "Confirmez-vous ?", vbInformation + vbYesNo, "Attention:") = vbYes Then
               .Rows(c.Row).Delete
               derlign = .Range("B65536").End(xlUp).Row
               .Range("B" & derlign + 1).EntireRow.Insert
               .Range("H" & derlign - 1).Copy .Range("H" & derlign + 1)
          End If
      Else: MsgBox "Référence inconnue", , "Erreur sur la référence :"
      End If
End With

End Sub

La macro supprime la ligne entière puis en rajoute une vide et copie la formule dans la nouvelle cellule de la colonne H. Comme cela, les formules de la colonne H ne s'effacent pas, et le nombre de ligne reste constant (-1/+1).

A+
 
Re : Macro Rechercher et Supprimer une ligne d'une autre feuille

Je tiens a te remercié "bqtr", car sans toi je n'aurai jamais pu arrivé a la fin de mon programme, donc un grand merci a toi et heureusement qu'il y a des gens avec de tel compétence pour nous aider lol ^^
 
- 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

Retour