[VBA] faisabilité

faisabilité [VBA] - VB/VBA/VBS - Programmation

Marsh Posté le 14-01-2011 à 15:31:13    

Bonjour,  
 
Voilà je m'interroge sur la faisabilité de la macro suivante:
 
Contexte:
J'ai un tableau avec des noms en ligne, des postes liés à ces noms (donc en ligne aussi) et des habilitions en colonne.
C'est à dire par exemple:
 
cellule A2: Nom
cellule B2: Poste 1
cellule C2: Poste 2
cellule D2: Poste 3
cellule E2: Poste 4
cellule F2: Donnée ; F1: intitué colonne  
cellule G2: Donnée ; G1:intitué colonne  
cellule H2: Donnée ; H1: intitué colonne  
cellule I2:  Donnée ; I1 : intitué colonne  
 
 
 
Objectif:
Je voudrai savoir s'il est possible de faire une macro qui:
1/ prend chaque nom et crée un onglet par nom, onglet dont nom est le nom d'un individu du tableau décrit.
2/ Crée un tableau sur chaque onglet ayant e,ligne les postes et les colonnes restant inchangées  
 
Question:
1/ Est-ce faisable tout simplement faisable?
2/ Si oui, une piste ou un lien me dirigeant vers un bon tuto vba.
 
Merci d'avance.


---------------
L'ananas que je mange là ? C'est pour ta mère.
Reply

Marsh Posté le 14-01-2011 à 15:31:13   

Reply

Marsh Posté le 14-01-2011 à 15:46:35    

Salut,je commencerai par créer une Collection ou un Dictionary pour avoir une liste sans doublons
voir http://boisgontierjacques.free.fr/ [...] ection.htm et http://boisgontierjacques.free.fr/ [...] nnaire.htm
passer par http://cjoint.com/ pour fournir un échantillon de fichier présentant les données avant puis après traitement  
Tu as le macro recorder qui te dégrossira le travail , code à optimiser ensuite manuellement


Message édité par kiki29 le 14-01-2011 à 15:53:12
Reply

Marsh Posté le 17-01-2011 à 14:31:37    

Début de l'algo pour te donner des idées...
 
 
 

Code :
  1. Sub toto
  2. dim Ligne as integer
  3. dim MaFeuilleDepart as worksheet
  4. dim MaFeuilleArrive as worksheet
  5.      'Mise en paramètre de ta feuille de Poste
  6.      Set MaFeuilleDepart= thisworkbook.sheets("Poste" )
  7.      'Boucle sur toute les lignes de ta feuille de Poste
  8.      for ligne=2 to MaFeuilleDepart.usedrange.rows.count
  9.               'Ajout d'une nouvelle feuille
  10.                Set MaFeuilleArrive = thisworkbook.Sheets.add
  11.                'Renommage de la feuille
  12.                MaFeuilleArrive .name=MaFeuilleDepart.cells(ligne,1)
  13.                'Appel de fonction de création de tableau avec les paramètres kivonbien
  14.                call CreationDeTableau(MaFeuilleDepart, MaFeuilleArrive, Ligne)
  15.                MaFeuilleArrive =nothing
  16.      next ligne
  17.      set MaFeuilleDepart=nothing
  18. End sub


Me semble qu'il ne doit y avoir que la procédure CreationDeTableau à implémenter....

Reply

Sujets relatifs:

Leave a Replay

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