Supprimer un nom dans une colonne et remplir le vide avec les autres noms

Bonjour à tous,

J'aimerais éliminer les noms dans plusieurs colonnes, DA, DD, DH, DL, DO et DS de l'onglet Prix, par un code VBA que j'ajouterais à mon Code en utilisant la fonction "Call" à la suite de mon code.

1) Les noms des col. DA, DD, DH, DL, DO et DS, de l'onglet Prix, se retrouvent tous dans la col. C de l'onglet Données.

2) J'ai surligné certains noms en jaune à titre d'exemple. Ces noms doivent être supprimés de leur col. respective.

3) Le critère pour la suppression est le suivant : Le nombre dans la col. Données!I, qui se trouve vis-à-vis le nom à supprimer, doit être inférieur au nombres des cellules DC5, DG5, DK5, DN5, DR5 et DV5 de l'onglet Prix. Chaque cellule correspond à la colonne de noms devant être supprimés, qui se trouve à sa gauche (DA, DD, DH, DL, DO et DS).

4) Les noms à être supprimés peuvent se retrouvés à n'importe laquelle des lignes de leur colonne. Ce qui fait que le code doit s'appliquer à toutes la colonne, pour chacune des colonnes.

5) Il faut remplir le vide causé par la suppression d'un nom en faisant remonter les autres noms qui se trouvent dans les lignes en dessous du nom supprimé.

J'espère avoir été assez claire dans mes explications.

3classeur1v1.xlsm (121.88 Ko)

Merci beaucoup pour votre aide.

Bonjour

Un essai à tester. Te convient-il ?

Bye !

7classeur1-v1.xlsm (130.56 Ko)

Bonjour GMB,

Merci beaucoup pour ta réponse rapide. La macro fonctionne très bien. Elle exécute la suppression et remplit les vides tel que demandé.

Étant nul en VBA, je pose une question qui peut te sembler idiote :

Est-ce possible de supprimer les noms et de remplir les vides sans supprimer les formules afin qu'elles demeurent actives et exécutent leur fonction dans chacune des colonnes ?

Merci encore et bonne journée.

Nouvelle version

Attention !

Les noms et prénoms que l'on trouve sur les 2 feuilles doivent être écrits strictement de ma même manière.

Pour exemple, on trouve des "Nicole Sarrazin" et des "Nicolle sarrazin" dans ton fichier d'origine.

Bye !

7classeur1-v2.xlsm (126.32 Ko)

Bonsoir gmb,

Merci encore pour ta réponse rapide. La macro Suppression fonctionne parfaitement dans le fichier en pièce jointe. Mon problème est que dès que je la transfert dans mon fichier principal, elle me donne une erreur comme suit :

Erreur d'exécution 2147417848 (80010108)

La méthode "Delete" de l'objet "Range" à échoué.

J'ai même ajouté la dernière partie de ma macro après le "Call Suppression" ,en pensant que c'était le problème, mais ça continue à fonctionner dans le fichier en pièce jointe.

J'ai fait plusieurs tests en créant des fichiers différents et la macro fonctionnait toujours.

Le fichier en pièce jointe est une mini partie de mon fichier principal. Les données se retrouvent exactement aux mêmes endroits que dans mon fichier.

Je ne comprends pas pourquoi ça ne fonctionne pas dans mon fichier principal (7 Mo.). Je pourrais te l'envoyer par CiJoint.

Laisse moi savoir.

3classeur1-v2.xlsm (123.10 Ko)

Merci encore et bonne journée

Bonjour

Je pourrais te l'envoyer par CiJoint.

Pouquoi ne le fais-tu pas ?

Bye !

Bonjour gmb,

Voici le lien.

https://www.cjoint.com/c/HCFl2JAJJq4

Merci beaucoup de l'intérêt que tu porte à mon problème.

Bonne journée.

Bonjour gmb,

Il y a une erreur dans le fichier que je t'ai fait parvenir. Dans l'onglet Prix, cellules. DC5, DG5, DK5, DN5, DR5 et DV5, les nombre 69 et 57 n'apparaissent pas. Même en ajoutant les nombres l'erreur( "La méthode "Delete" de l'objet "Range" à échouée"), apparaît toujours.

Désolé pour le contretemps.

Bonne journée.

Bonjour gmb,

Juste une vérification à savoir si tu as bien reçu mon fichier via CiJoint. Si Oui, as tu eu le temps de vérifier ou se trouve le problème ?

Merci et bonne journée.

Rechercher des sujets similaires à "supprimer nom colonne remplir vide noms"