Remplissage automatique de cellules

Bonjour le forum

J'ai un souci pour automatiser le remplissage de cellules,

Dans la colonne C j'ai un nom qui peut apparaître plusieurs fois dans la colonne mais sans se suivre.Dans la colonne D une liste de validation me permet de choisir un nom

il faudrait que quand je valide une case de la colonne D avec un nom issu de la liste de validation les autre cases de la colonne D et qui ont a leur gauche le meme nom se remplissent automatiquement avec le meme nom.

Voir le fichier joint pour une meilleur comprehension.

D'avance merci

https://www.excel-pratique.com/~files/doc/exemple_liste_01_2008.xls

Bonjour

Et si au lieu de remplir cette colonne nous nous servions tout simplement de la saisie déjà faite dans la colonne préccédente

Voici deux exemples d'ecritures

avec conditionnel et recherchev

https://www.excel-pratique.com/~files/doc/978_exemple_liste_01_2008.xls

Cordialement

Alain

Bonjour,

Une petite macro à placer en VBA dans la feuille "entrée titres" de ton fichier.

Private Sub Worksheet_Change(ByVal Target As Excel.Range)
'Macro par Dan pour wili60 le 09/02 - Excel pratique
Dim cell As Range
Dim support As String
Dim le As Date
support = Target.Offset(0, -1)
le = Target.Offset(0, 1)
If Not Application.Intersect(Target, Range("D2", Range("D65536"))) Is Nothing Then
On Error GoTo fin
Application.EnableEvents = False
Range(Target.Offset(1, 0), Range("E65536")).ClearContents
Range(Target.Offset(-1, 0), Range("E2")).ClearContents
For Each cel In Range("C2", Range("C65536").End(xlUp))
If cel = support Then cel.Offset(0, 1) = Target: cel.Offset(0, 2) = le
Next
Application.EnableEvents = True
End If
fin:
Application.EnableEvents = True
End Sub

Amicalement

Dan

Bonjour Alain

Merci de ta réponse

Ca ne colle pas car ma liste de validation de le colonne D a disparue et d'autre part je ne veux pas forcement associer les noms de la colonne I avec celui qui est directement a sa gauche, je veux dire que julien peut très bien être associé avec DVD3.

D'autre part tu parle de deux exemples et excuse moi mais je n'en vois qu'un.

Bonjour Dan

J'essai ta solution et te tiens au courant.

Merci de ta réponse

Désolé Dan mais la macro me renvoi une erreur de compilation "END SUB ATTENDU"

Mais comme je ne suis pas doué du tout j'ai surement fais une bêtise aussi je me permet de renvoyer mon fichier exemple avec la modif ce qui te permettra de voir d'ou vient l'erreur.

Merci

https://www.excel-pratique.com/~files/doc/exemple_liste_02_2008.xls

Excuse moi Dan

J'avais lu trop vite et je n'ai pas vu qu'il fallait mettre la macro dans la feuille entrée titres,

finalement ca fonctionne très bien.

merci

Re,

Normal ! Tu n'as pas placé la macro au bon endroit. Tu as créé une sub COPIE dans un module et de plus tu as deux END SUB. D'où ce plantage.

Revoici ton fichier avec cette macro placée dans la feuille en question.

Précaution, en premier lieu, tu vas d'abord exécuter la macro TEST qui se trouve dans le module 2. Ensuite tu pourras l'effacer.

Le bouton COPIE que tu as créé ne sert à rien. Choisis dans la liste en colonne D et la macro va s'exécuter toute seule.

https://www.excel-pratique.com/~files/doc/Vx0CFexemple_liste_02_2008.xls

A te relire

Dan

Désolé de mon incompétence Dan, comme tu vois j'ai vu mon erreur mais un peu tard.

Par contre il y a un petit souci quand même.

Tout se passe très bien si on valide un nom pour un dvd mais si on valide un autre nom pour un autre dvd les premiers noms s'effacent.

Est-ce possible de corriger cela.

Merci d'accepter mes excuses.

A te lire

re,

Je me doutais que tu allais avoir ce pb car à la lecture de ta demande, je me suis posé la question. Faut-il supprimer le précédent ou non.

Dans la macro, tu verras une instruction UNION.......CLEARCONTENTS. Il te suffit de supprimer cette ligne ou de mettre une apostrophe devant le UNION.

A te relire

Dan

Re

Solution nickel

J'ai mis une apostrophe devant les deux lignes qui se terminaient avec clearcontents.

Je me permets une question supplémentaire :

Pourquoi quand on efface une entrée en colonne D on efface bien toutes celles qui lui sont associées dans cette colonne mais pas dans la colonne E dans laquelle je mets la date a l'aide des touches CTRL+;

C'est juste une question de confort, je m'estimerais déjà heureux de ce que j'ai, mais si c'était faisable sans demander trop de temps.

Dans tous les cas merci d'avoir passer du temps et de votre patience

re,

tu mets toutes les dates avec CTRL + ou tu veux que cela se fasse automatiquement

Dan

Re,

Je me suis mal fais comprendre,

L’heure s’inscrit bien en même temps que le nom et ou je veux mais c’est l’effacement de cette heure qui pose problème, les noms eux s’effacent bien.

will60

re,

Merci de tes explications. Remplace la macro actuelle par celle-ci dessous :

Private Sub Worksheet_Change(ByVal Target As Excel.Range)
'Macro par Dan pour wili60 le 09/02 - Excel pratique
Dim cel As Range
Dim support As String
Dim le As Date
support = Target.Offset(0, -1)
If Not Application.Intersect(Target, Range("D2", Range("D65536"))) Is Nothing Then
On Error GoTo fin
Application.EnableEvents = False
le = Target.Offset(0, 1)
For Each cel In Range("C2", Range("C65536").End(xlUp))
If cel = support And Not IsEmpty(Target) Then cel.Offset(0, 1) = Target: cel.Offset(0, 2) = le
If cel = support And IsEmpty(Target) Then cel.Offset(0, 1) = Target: cel.Offset(0, 2).ClearContents
Next
Application.EnableEvents = True
End If
Exit Sub
fin:
Application.EnableEvents = True
End Sub

Amicalement

Dan

Bonjour Dan

Top fort

solution impeccable

Merci encore

Rechercher des sujets similaires à "remplissage automatique"