vb excel - MAJ un tableau

vb excel - MAJ un tableau - VB/VBA/VBS - Programmation

Marsh Posté le 08-11-2009 à 22:01:28    

Bonjour,
 
Voilà en gros j'ai un 2 tableau excel comme ceci :
 
Tableau 1
col1 col2
jean UV1
jean UV2
jean UV3
jean UV4
jean UV5
… ….
 
Tableau 2
col1            col2
formation1 uv1
formation1 uv2
formation2 uv3
formation2 uv4
formation2 uv5
…  …
 
En fait ce que je souhaiterais c'est à partir du tableau 2 mettre à jour le tableau 1 , à savoir jean a l'UV1 et l'UV2 donc il a la formation1, il a les UV3/4/5 donc il a la formation2
 
==> le tableau 1 deviendrait donc  
 
Tableau 1
col1 col2    col3
jean UV1  formation1  
jean UV2  formation1  
jean UV3  formation2  
jean UV4  formation2  
jean UV5  formation2  
 
Je n'ai aucune connaissance VB, j'en ai un peu fait sur access ... Y aurait t il une âme charitable pour m'orienter niveau développement . merci d'avence

Reply

Marsh Posté le 08-11-2009 à 22:01:28   

Reply

Marsh Posté le 09-11-2009 à 10:11:14    

Edit: Voir les réponses plus bas.


Message édité par olivthill le 12-11-2009 à 10:04:02
Reply

Marsh Posté le 09-11-2009 à 10:15:14    

Ce problème est loin d'être facile. Je pense que vous n'avez pas cerné la difficulté. Mais merci beaucoup pour votre aide.

Reply

Marsh Posté le 09-11-2009 à 13:33:17    

Bonjour,
l'ordre des colonnes du tableau2 est-il imposé, ou peux-tu les intervertir?
Si oui: interversion, puis utilisation d'un RECHERCHEV,
Si non, utiliser un colonne libre pour y recopier la première et on revient au problème précédent.
 
Cordialement

Message cité 1 fois
Message édité par seniorpapou le 09-11-2009 à 13:34:37
Reply

Marsh Posté le 09-11-2009 à 14:03:35    

RECHERCHEV n'existe pas en VB, il me semble. Donc, si VB est requis, il faudrait plutôt avoir une boucle sur les cellules concernées.

Reply

Marsh Posté le 09-11-2009 à 14:23:34    

seniorpapou a écrit :

Bonjour,
l'ordre des colonnes du tableau2 est-il imposé, ou peux-tu les intervertir?
Si oui: interversion, puis utilisation d'un RECHERCHEV,
Si non, utiliser un colonne libre pour y recopier la première et on revient au problème précédent.
 
Cordialement


 
 
oui je peux les intervertir, mais je n'ai pas le sentiment qu'un recherchedev puisse répondre au problème puisque c'est un ensemble de cellule que je cherche et non pas une cellule.
 
 
 
 

Reply

Marsh Posté le 09-11-2009 à 14:35:12    

Bonjour,
ce n'est pas cela que tu veux??
 
http://cjoint.com/?ljoIbAbyN7
 
Cordialement

Reply

Marsh Posté le 09-11-2009 à 14:55:35    

seniorpapou a écrit :

Bonjour,
ce n'est pas cela que tu veux??
 
http://cjoint.com/?ljoIbAbyN7
 
Cordialement


 rebonjour,
 
merci pour ton fichier mais non ce n'est pas celà.
 
La difficulté c'est la boucle qui doit tester si une personne a bien toutes les UV nécessaires à la validation d'une formation.
 
Si une uv est absente la formation ne doit pas apparaitre, si toutes les uv d'une formation sont acquise alors la formation peut etre renseigné dans la troisième colonne

Reply

Marsh Posté le 09-11-2009 à 15:32:43    

Bonjour
col1  col2   col3   col4        col5          col6
jean UV1   formation1 uv1
jean UV2   formation1 uv2
jean UV3   formation2 uv3
jean UV4   formation2 uv4
jean UV5   formation2 uv5
 
La première ligne de "jean" =4  
 
Voici le code très simple :

Sub essai()
Dim tab1
Set tab1 = CreateObject("Scripting.dictionary" )
'------------------------------------------------------
'    lecture des formations
'------------------------------------------------------
'
l = 4
c = 6
While Cells(l, c) <> ""
    cle = UCase(Trim(Cells(l, c)))
    data = Cells(l, c - 1)
    tab1(cle) = data
    l = l + 1
Wend
 
'------------------------------------------------------
'    ecriture des formations
'------------------------------------------------------
'
l = 4
c = 2
While Cells(l, c) <> ""
    cle = UCase(Trim(Cells(l, c)))
    Cells(l, c + 1) = tab1(cle)
    l = l + 1
Wend
 
 
End Sub

Reply

Marsh Posté le 09-11-2009 à 15:37:21    

Précision sur les colonnes
En col 1 les "jean"
En col 2 le UV
en col 5 les formations
en col 6 les uv
 
en col 3 résultat

Reply

Marsh Posté le 09-11-2009 à 15:37:21   

Reply

Marsh Posté le 09-11-2009 à 16:09:55    

Merci j'ai essayé d'utiliser ton script mais je n'y arrive pas.
 
j'ai pourtant mis à partir de la première ligne  
les 6 colonnes comme tu me l'as dit
 
col 1==> nom agent
col 2 ==> un détenu par agent
col 3 ==> résultat formation
col 5 ==> referentiel formation
col 6 ==> referentiel uv
 
 
 
Dans cet esprit là voilà le résultat escompté,  
col1  col2   col3        col4          col5
toto uv1 formation1  formation1 uv1
toto uv2 formation1  formation1 uv2
toto uv3                 formation2 uv4
jean uv1 formation1  formation2 uv5
jean uv2 formation1  formation2 uv6
jean uv3    
jean uv4 formation2    
jean uv5 formation2    
jean uv6 formation2    
jean uv7    
tutu uv1 formation1    
tutu uv2 formation1    
tutu uv3    
popo uv1 formation1    
popo uv2 formation1    
popo uv3    
popo uv4 formation2
popo uv5 formation2
popo uv6 formation2
popo uv7


Message édité par Renom31 le 09-11-2009 à 16:10:56
Reply

Marsh Posté le 09-11-2009 à 16:45:40    

Reply

Marsh Posté le 09-11-2009 à 16:53:57    


 
Merci mais je suis sur du  2003

Reply

Marsh Posté le 09-11-2009 à 16:58:54    

Dommage, je regarde en 2003

Reply

Marsh Posté le 09-11-2009 à 17:31:22    

Reply

Marsh Posté le 09-11-2009 à 19:52:30    


 
Magnifique, merci beaucoup ! J'aimerais pouvoir te rendre la pareil.
 
 

Reply

Marsh Posté le 10-11-2009 à 08:40:48    

Bonjour,
 
Remplace les "l=4" par "l=1"car tu dis avoir tout mis a partir de la ligne 1
j'avais précisé première de "jean" = 4
 
A+

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed