recopie de noms sélectionnés dans une liste de validation

boudu

XLDnaute Occasionnel
Bonjour au forum
Je travaille sur un fichier de planning
une feuille est cansacrée à la saisie de noms et éléments liés
une seconde feuille permet de choisir dans une liste de validation parmi ces noms
Je souhaite que lorsque les noms sont choisis, ils se recopient en bas de la feuille pour récupérer les éléments liés

Je ne sais pas comment procéder pour automatiser au maximum cela:
soit au fur et à mesure
soit un traitement global sur la feuille par le biais d'une macro
La difficulté est qu'il y a dans la zone concernée des mots qu'il ne faut pas recopier (TRAJET, PAUSE..) et le positionnement à partir de la premiere ligne vide
Je joins un fichier test
merci d'avance
 

Pièces jointes

  • testrecopienomenbas.xls
    21 KB · Affichages: 93

boudu

XLDnaute Occasionnel
Re : recopie de noms sélectionnés dans une liste de validation

Bonsoir Kjin, le forum
Merci de t'y recoller, je ne pourrai tester ton code que demain

Il n'y a aucun message, simplement rien ne se passe...
J'ai testé plusieurs choses et j'ai d'autres fichiers qui tournent avec des fonctions donc je ne comprends absolument pas, ça peut pas être le "case" quand même (ceci dit je n'en ai dans aucun fichier qui tourne au boulot jusqu'à présent)
J'ai juste un message de proposition de deboguage quand j'efface toutes les entrés du planning d'un coup et à ce moment-là le curseur se positionne sur le premier Derlign!!!
Je tente demain et je te dis

Merci encore et bonne soirée
 

boudu

XLDnaute Occasionnel
Re : recopie de noms sélectionnés dans une liste de validation

Bonjour Kjin, le forum
Malheureusement, le nouveau code ne fonctionne pas
J'ai essayé de modifier les propriétés de la page, rien n'y fait. C'est vraiment trop bete!!
Peut'on remplacer le select case par un if et tester sans les conditions sur les mots "Trajet"..?
Bonne journée
 

kjin

XLDnaute Barbatruc
Re : recopie de noms sélectionnés dans une liste de validation

bonjour,
A priori la fonction Select Case ne pose pas de soucis sur 97.
Essaie comme ça
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Count > 1 Then Exit Sub
If Not Intersect(Range("B4:F16"), Target) Is Nothing Then 'adapte ta plage ici
Select Case Target.Value
Case "TRAJET", "PAUSE", ""
Exit Sub
Case Else
Derlign = Range("A65000").End(xlUp).Row + 1
Cells(Derlign, 1).Value = Target.Value
If Application.WorksheetFunction.CountIf(Range("A21:A65000"), Target) > 1 Then
Cells(Derlign, 1).ClearContents
Else
Set plage = Sheets(1).Range("A1:B10")
Cells(Derlign, 2).Value = Application.WorksheetFunction.VLookup(Target, plage, 2, False)
End If
End Select
End If
End Sub
Es tu sur la bonne feuille (question bête)
A+
kjin
 

boudu

XLDnaute Occasionnel
Re : recopie de noms sélectionnés dans une liste de validation

Bonjour Kjin, le forum
Bon, la petite crispation du matin, ça ne marche pas!!!
oui, je suis sur la bonne feuille, j'utilise en test le fichier que tu avais fait (la plage est ok de B4 à F16)
J'ai regardé l'aide en ligne à nouveau, 97 connait bien les fonctions telles que celle que tu as définie. Il doit y avoir un petit truc qui coince mais c'est vrai que 97 n'interesse plus grand monde. ce qui est rageant c'est qu'habituellement tout ce qui tourne avec 2000 fonctionne avec 97
Je crois qu'il va falloir revenir à quelque chose de plus rudimentaire comme une formule ou du code que je pourrais lancer apres avoir fait la saisie des noms dans le planning et qui recopierait ces noms avec les memes conditions: pas de doublon et pas de mot comme trajet ou pause
Cette façon de faire permettrait la réactualisation des infos car elles peuvent évoluer d'une semaine sur l'autre (fréquence à laquelle le planning est établi)
Il faudrait juste recopier les noms et les infos seraient rapatriées grace à la formule que j'avais mise dans le premier fichier joint au post
Merci de toutes ces tentatives et comme je vois que tu es tres bon en vba, j'espere que tu pourras me proposer quelque chose qui correspond à ce que j'ai décrit au-dessus
Bonne journée
 

pierrejean

XLDnaute Barbatruc
Re : recopie de noms sélectionnés dans une liste de validation

Bonjour à tous

Une version qui tourne sous 2000 a tester sous 97
 

Pièces jointes

  • testrecopienomenbas.zip
    11.7 KB · Affichages: 18
  • testrecopienomenbas.zip
    11.7 KB · Affichages: 20
  • testrecopienomenbas.zip
    11.7 KB · Affichages: 21

kjin

XLDnaute Barbatruc
Re : recopie de noms sélectionnés dans une liste de validation

Bonjour, bonjour pierrejean,
Version sans select case, bien que je doute que se soit l'origine du pb.
N'y a t-il pas des "paramètres" à activer, bien que j'ai des doutes là aussi, mais bon,
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Range("B4:F16"), Target) Is Nothing Then
If Target.Count > 1 Then Exit Sub
If Target = "TRAJET" Or Target = "PAUSE" Or Target = "" Then Exit Sub
Derlign = Range("A65000").End(xlUp).Row + 1
Cells(Derlign, 1).Value = Target.Value
If Application.WorksheetFunction.CountIf(Range("A21:A65000"), Target) > 1 Then
Cells(Derlign, 1).ClearContents
Else
Set plage = Sheets(1).Range("A1:B10")
Cells(Derlign, 2).Value = Application.WorksheetFunction.VLookup(Target, plage, 2, False)
End If
End If
End Sub
A+
kjin
 

boudu

XLDnaute Occasionnel
Re : recopie de noms sélectionnés dans une liste de validation

Bonjour Pierrejean, Kjin ,le forum
Pierrejean
Merci pour cette proposition qui va bien dans le sens de ce que je souhaite si 97 ne veut pas faire avec la fonction.. (je n'avais pas vu la proposition de Kjin que je vais tester maintenant
Pierrejean: 97 fait un message d'erreur 1004, quand je clique sur deboguage c'est la ligne set c....qui est surlignée
Déjà il se passe quelque chose!! mais ça ne fonctionne pas dans l'etat

Je vois le code de Kjin et vous tiens au courant
Bonne journée
 

boudu

XLDnaute Occasionnel
Re : recopie de noms sélectionnés dans une liste de validation

Re Kjin
Tu as raison, ce n'est pas ça le probleme mais comme ça on en a le coeur net
Pour les parametres j'ai modifié celui concernant la declaration auto des variables mais ça ne change rien
par contre est ce qu'il n'y a pas une reference vba à cocher (qui ne le serait pas par defaut) dans la liste proposée dans outils reference de l'editeur vba??

Merci
 

boudu

XLDnaute Occasionnel
Re : recopie de noms sélectionnés dans une liste de validation

Re Jean pierre, Kjin, le forum
Eureka
ça fonctionne avec 97
De plus, c'est bien finalement que ce soit dans un module parce que j'ai une barre d'outils créée spécialement pour ce fichier et comme ça j'y integre le bouton
Je n'ai pas pris le temps de regarder le code dans le detail mais pour paufiner (comme d'hab on veut toujourd plus) ce serait bien que la macro réinitialise les lignes du bas et qu'un nom ne figure qu'une fois (en fait dans le planning le meme nom apparait plusieurs jours)

Un grand merci parce que je commençais à desesperer; on aurait 2000 l'option de Kjin etait super mais il n'est pas prevu d'upgrade de notre version d'excel avant la saint glinglin
Une petite aide pour les deux petites choses mentionnées au-dessus ne sera pas de refus
Bonne continuation
 

pierrejean

XLDnaute Barbatruc
Re : recopie de noms sélectionnés dans une liste de validation

Re

Vois si cela convient

ps: moi c'est pierrejean
 

Pièces jointes

  • testrecopienomenbas.zip
    12.6 KB · Affichages: 24
  • testrecopienomenbas.zip
    12.6 KB · Affichages: 16
  • testrecopienomenbas.zip
    12.6 KB · Affichages: 25

boudu

XLDnaute Occasionnel
Re : recopie de noms sélectionnés dans une liste de validation

Re Pierrejean
MILLE EXCUSES pour ton prenom.....
et un immense MERCI car c'est impecc, tout fonctionne exactement comme je le souhaitais
Merci également à Kjin qui a fait une proposition qui allait impecc avec 2000 et que j'utiliserai pour autre chose
Il me reste à adapter à mon vrai fichier
Bonne continuation
 

Discussions similaires

Statistiques des forums

Discussions
312 609
Messages
2 090 193
Membres
104 449
dernier inscrit
Miguel937