Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

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

Re,
pour les suppressions ça fonction, j'aurai préféré pouvoir le faire sans sélectionner les cellules
Il suffit de remplacer Select par Delete

Par contre je ne vois pas trop en ce qui concerne les modifications, peut-être une astuce en plus ?
Il suffit de faire les modifs dans la boucle Do...Loop, c représente la cellule qui contient le nom de la société, en utilisant Offset tu décales, par exemple c.Offset(0,1) donne la commune et c.Offset(0,2) le contact.

A+
 
Re : VBA Remplacer/suppression multiple

Parfait, impeccable, super !!!
J'arrive à faire exactement ce que je cherchais à faire alors bravo !
Merci Hippolite, Bebere, Stefan et Fo_rum pour m'avoir apporté votre aide 😀
 

Pièces jointes

Re : VBA Remplacer/suppression multiple

Par contre j'ai un petit soucis avec cette ligne là
Loop While Not c Is Nothing And c.Address <> firstAddress
et plus particulièrement avec c.Address

Pour une première modification tout va bien, mais si on veut en faire une deuxième ça bloque la dessus pour sortir de la boucle.
Je précise que je ne comprends pas tout à vba donc c'est peut-être tout bête, mais je ne vois pas.
 
Re : VBA Remplacer/suppression multiple

Re,
Il ya une ligne à ajouter dans Sub CBvalidS2_Click()
Code:
                Set c = .FindNext(c)
                If c Is Nothing Then Exit Do
            Loop While Not c Is Nothing And c.Address <> firstAddress
en effet si on modifie le nom, à la fin de la boucle quand toutes les modifs auront été effectuées,on va se retrouver avec c qui sera nothing (l'ancien nom ayant disparu) et il faut sortir de la boucle avant que c.Address ne fasse planter.
Tu peux enlever tous les "groupe" qui ne servent pas dans cette routine
Je n'ai pas eu le temps d'approfondir ton code pour voir s'il y a une façon plus propre de procéder.
A+
 
- 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
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…