VBA Remplacer/suppression multiple

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

Another

XLDnaute Nouveau
Voilà un moment que je me creuse la tête pour mon problème, mais rien n'y fait et j'espère que vous allez pouvoir m'aider.

J'ai un document avec trois colonnes (pour le moment), en colonne A j'ai des noms de sociétés, en colonne B les communes associées aux sociétés et en colonne C des noms de personnes associées aux sociétés.

Je gère l'ensemble avec une Userform qui me permet de rentrer de nouvelles données et/ou de les modifier/supprimer.
Mon problème et de pouvoir modifier/supprimer une société (avec bien sûr la communes qui lui est associée) sachant que je vais la retrouver plusieurs fois dans la colonne A puisque plusieurs personnes (il peut y avoir des doublons de noms de personnes, mais elles sont bien différentes) y sont associées (Ex : je supprime une société >> la commune et les personnes associées aussi)(Ex : je modifie le nom d'une société >> la commune et les personnes associées ne bouge pas)

Merci d'avance pour votre aide
 

Pièces jointes

Re : VBA Remplacer/suppression multiple

Bonjour,

En manuel :
Utilise le filtre automatique,
puis sélectionne ce qui est affiché
puis Menu Edition/Atteindre... tu as des options qui permettent de ne sélectionner que les cellules visibles
et là tu peux supprimer ou modifier.

Bien entendu, tu peux automatiser avec une macro

A+
 
Re : VBA Remplacer/suppression multiple

Proposition intéressante, mais nécessitant trop d'opération pour, par exemple supprimer/modifier une société (sans faire d'erreur) et tout ce qui va avec.
J'ai oublié quelque chose aussi, j'aimerai bien trier automatiquement la plage de donnée par Société et par nom de personne à chaque modification de celle-ci.
J'en demande peut-être un peux trop là 😛
 
Re : VBA Remplacer/suppression multiple

Merci Stefan373, mais j'ai déjà mis en place ce que vous avez fait dans une version plus avancée ou je traite les contacts (personnes).
Supprimer ou modifier le contenu de plusieurs cellules sur une ligne je sais faire. Mon réel problème et de pouvoir le faire sur plusieurs lignes avec une seule commande (cf. exemples donnés sur mon 1er poste)
 
Re : VBA Remplacer/suppression multiple

Bonjour,
C'était juste une démo, la présentation n'avait pas été fignolée.
C'est effectivement pour des suppressions, mais c'est facilement adaptable à des modifs à partir du moment où toutes les lignes concernées sont sélectionnées ( la dificulté est essentiellement dans la suppression multilignes qu'il faut prendre par le bon bout pour ne pas se prendre les pieds dans le tapis avec les référence de lignes)
A+
 
Re : VBA Remplacer/suppression multiple

J'apprécie votre aide Hipolite, Stefan et Bebere, mais je ne vois malheureusement pas en quoi tout cela solutionne mon problème.

Peut-être que la solution proposée par Hipolite pourrait correspondre, mais je ne la comprends pas (je n'ai que quelques toutes petites bases en VBA)

Après c'est peut-être moi qui ai mal formulé ma demande donc je vais essayer de reformuler.

Je voudrais pouvoir en sélectionnant une société dans mon Userform :

1 / Pour la suppression : En "une seule action" (important) supprimer l'ensemble des données d'une société. Un peu comme dans la solution proposée par Bebere, sauf qu'au lieu de sélectionner à chaque fois les lignes à supprimer on supprimerait toutes les lignes associées à une société en question.

2 / Pour la modification : Avoir la possibilité de pouvoir changer le nom de la société et/ou de sa commune en "une seule action". De la même manière que pour supprimer, ici on remplacerait les données "société" et "commune" sur toutes les lignes de la société en question

Maintenant il n'est peut-être tout simplement pas possible de faire ce que je souhaite.

PS: Sympa votre proposition Bebere, même si je ne m'en sers pas ici j'en aurai très certainement l'utilité plus tard alors merci bien

A bientôt
 
Re : VBA Remplacer/suppression multiple

Re,
Avec ce code mis avec le bouton supprimer, toutes les lignes de la société sont sélectionnées, à partir de ça tu peux facilement les supprimer ou les modifier
VB:
Private Sub CBsuppS_Click()
    Dim c As Range, groupe As Range
    With Sheets("BDClient").Range("A2:A" & Range("A65000").End(xlUp).Row)
        Set c = .Find(ComboBox1.Text, LookIn:=xlValues)
        If Not c Is Nothing Then
            firstAddress = c.Address
            Set groupe = c
            Do
                Set groupe = Application.Union(groupe, c)
                Set c = .FindNext(c)
            Loop While Not c Is Nothing And c.Address <> firstAddress
        End If
    End With
    If Not groupe Is Nothing Then
        groupe.EntireRow.Select
    End If
End Sub
A+
 
Re : VBA Remplacer/suppression multiple

Re Hippolite,

J'ai testé votre solution et pour les suppressions ça fonction, j'aurai préféré pouvoir le faire sans sélectionner les cellules mais comme ça fonctionne comme ça je ne vais pas me plaindre.

Par contre je ne vois pas trop en ce qui concerne les modifications, peut-être une astuce en plus ?

J'ai ajouté un tri après chaque modification pour organiser un peu les données suivant 2 critères, je ne sais pas si c'est le meilleur moyen de faire mais ça fonctionne comme ça.

Bonjour Fo_rum, merci pour votre proposition, comme pour la solution de Bebere elle est intéressante, mais ce n'est pas ce que je cherche à faire ici, pour le moment dans mon fichier on ne s'occupe pas des personnes (c'est là pour faire beau). Par contre je retiens l'idée, en remplaçant les chiffres par des prénoms après les noms, ça va sous doute me servir ultérieurement.
Merci bien
 

Pièces jointes

- 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

Réponses
6
Affichages
316
Réponses
7
Affichages
408
Réponses
4
Affichages
272
Retour