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

antha

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

Bonjour,

Je ne sais pas si tu auras au final beaucoup de noms dans ta liste, mais tu peux essayer quelque chose du genre :
En A23 :
=SI(SOMMEPROD((ESTNUM(CHERCHE(patronymes!A1;planning))*1))>=1;patronymes!A1;SI(SOMMEPROD((ESTNUM(CHERCHE(patronymes!A2;planning))*1))>=1;patronymes!A2;SI(...)

Tu tires sur les lignes suivantes, ce qui devrait décaler et donner en A24 :
=SI(SOMMEPROD((ESTNUM(CHERCHE(patronymes!A2;planning))*1))>=1;patronymes!A2;SI(SOMMEPROD((ESTNUM(CHERCHE(patronymes!A3;planning))*1))>=1;patronymes!A3;SI(...))))

etc...

planning correspondant à B6:J18

1 limite principale a priori: si tu as plus de 7 noms, tu dépasses la limite du nombre de fonctions imbriquées et dans ce cas là, tu es obligé de passer par un tableau relais ou tu fais tes autres tests.

A voir :)
 
Dernière édition:

boudu

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

Bonsoir Antha, le forum
Merci pour ta proposition mais effectivement j'ai environ 150 noms dans mon vrai fichier donc cette formule est difficile à adapter!!
en fait il faudrait adapter cette formule en vba sous forme d'une boucle qui pourrait tester tous les noms, enfin je dis ça mais je ne sais pas si c'est possible!

Bonne soirée
 

boudu

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

Bonjour kjin, Antha, le forum
Merci pour vos propositions
J'ai testé le fichier joint et ça ne fonctionne pas chez moi (il faut dire que j'ai excel 97 et c'est peut-etre la raison!!
Je reprécise ce que je souhaite car je ne comprends pas le code et donc je ne peux pas savoir si c'est ma version ou si ça ne fait pas ce qui est demandé:

Je veux simplement que lorsqu'un nom est selectionné dans le planning, il apparaisse en colonne A en bas pour recuperer les elements saisis dans la feuille patronymes (grace à la formule que j'ai mise dans mon fichier test en colonne B à partir de la ligne 23)
la presentation du planning correspond à mon vrai fichier, je n'ai pas besoin du rappel des jours et heures en bas, les commentaires à rapatrier sur cette feuille sont parfois longs
J'espere que c'est possible d'adapter le code
Merci encore et bonne journée
 

kjin

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

Bonjour,
Un nouvel essai
A+
kjin
 

Pièces jointes

  • testrecopie_V2.zip
    34.4 KB · Affichages: 30
  • testrecopie_V2.zip
    34.4 KB · Affichages: 27
  • testrecopie_V2.zip
    34.4 KB · Affichages: 27

boudu

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

Re Bonsoir Kjin, le forum
je suis chez moi et j'ai office 2000 et là ça fonctionne donc c'est ce que je craignais pour la premiere version c'est 97 qui ne connait pas certaines fonctions

Par contre, il y a un souci sur la version 2 car chaque nouvelle entrée écrase la precedente sur la ligne 23
Dans la version 1 que j'ai pu tester aussi sous 2000, il ne faudrait pas que si on saisit un meme nom plusieurs fois dans le planning il apparaisse plusieurs fois en bas (une seule fois suffit) donc il manque un controle
Par contre, les lignes s'ecrivent bien les unes sous les autres et ça c'est ce que je veux

j'espere que ce n'est pas le case qui ne plait pas à 97 parce que le code est vraiment court et efficace
je testerai donc demain au boulot la version 2 mais j'ai un peu peur
d'habitude ce qui marche avec 2000 marche avec 97 mais là...
As'tu une idée de ce qui peut coincer avec 97?
Merci
@+
 

kjin

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

Bonsoir,
Petite modif pour la version2000.
Pour la version97, je ne peux pas te dire
A+
kjin
 

Pièces jointes

  • testrecopie_V2.zip
    16.8 KB · Affichages: 43
  • testrecopie_V2.zip
    16.8 KB · Affichages: 43
  • testrecopie_V2.zip
    16.8 KB · Affichages: 45

boudu

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

Re bonsoir Kjin
cette version fonctionne impeccablement et fait exactement ce dont j'ai besoin
reste à savoir si cela va fonctionner avec 97 (je verrai ça demain au boulot)

dans tous les cas merci beaucoup et bonne soirée
@+
 

boudu

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

Bonjour Kjin, le forum
malheureusement comme je le redoudais ça ne fonctionne pas avec 97
c'est vraiment la preuve que vba devient plus puissant avec les versions
j'essaie de voir quelle ligne de code coince pour voir si ça peut tourner avec 97
Je suis evidemment intéreessé par toute proposition qui pourrait faire tourner le code

Merci et Bonne journée
 

boudu

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

re
il y a juste une petite erreur dans le code, il faut mettre >3 et pas 5 pour le premier if
je rajoute juste ceci pour que les tests sur le fichier soient valides

@+
 

kjin

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

il y a juste une petite erreur dans le code, il faut mettre >3 et pas 5 pour le premier if
je rajoute juste ceci pour que les tests sur le fichier soient valides
Il n'y a pas d'erreur dans le code, mais il fallait, comme tu l'as compris, adapter la première et la dernière ligne de ton tableau
A+
kjin
 

boudu

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

Re bonjour au forum
Un petit UP sur mon post parce que c'est vraiment trop bete, le code de Kjin fonctionne impeccablement avec 2000; j'ai tenté plusieurs choses pour le faire tourner avec 97 mais je ne trouve pas
J'ai d'autres fichiers avec des procedures evenementielles qui fonctionnent pourtant correctement
Je sais que c'est un peu ancien comme version mais c'est ce que nous avons au boulot!!

Merci
 

kjin

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

Bonjour,
J'ai un peu modifié le code
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Range("B4:F16"), Target) Is Nothing Then
Select Case Target.Value
Case Is = "TRAJET", Is = "PAUSE", Is = ""
Exit Sub
Case Else
Derlign = Range("A65000").End(xlUp).Row + 1
Cells(Derlign, 1).Value = Target.Value
If Application.CountIf(Range("A21:A65000"), Target) > 1 Then
Cells(Derlign, 1).ClearContents
Else
Set plage = Sheets(1).Range("A1:B10")
Cells(Derlign, 2).Value = Application.VLookup(Target, plage, 2, False)
End If
End Select
End If
End Sub
Je ne connais malheuresement pas 97.
As tu un message d'erreur à l'exécution ou non ?
Je soupçonne le pb des fonctions
A+
kjin
 

Discussions similaires

Membres actuellement en ligne

Statistiques des forums

Discussions
312 215
Messages
2 086 329
Membres
103 185
dernier inscrit
salhit