Urgent - Please Macro Help me !!!!!

Urgent - Please Macro Help me !!!!! - VB/VBA/VBS - Programmation

Marsh Posté le 10-06-2007 à 11:22:57    

Bonjour à tous,
 
Je débute en VBA et après des recherches je n'arrive pas à faire ce que je veux.
Je m'explique.
 
Voici, les extraits de mes 2 tableaux :
 
http://img101.imageshack.us/img101/3735/tab1ky5.jpg
 
http://img507.imageshack.us/img507/6633/tab2te7.jpg
 
Ce que je veux faire c'est :
- récuper la valeur de A4 dans tab1 : Activesheet.Range("A4" ).value ??
- faire une boucle :  
              - en comparant la valeur récupéree precedemment avec les valeurs de la colonne 3 de tab2 ( tab2 étant dans une autre feuille)
              - quand les 2 valeurs concordent alors je veux créer une ligne en dessous de "LYON" dans tab1
              - remplir cette ligne avec les cellule associés de tab2
              - idealement je souhaiterai grouper ces lignes (arborescence) "+" comme dans l'explorateur windows (données / groupe ...)
 
Voilà, c'est simple mais bon ...
 
Merci de votre aide.
Bonne fin de WE


Message édité par TheAlaix le 10-06-2007 à 11:26:20
Reply

Marsh Posté le 10-06-2007 à 11:22:57   

Reply

Marsh Posté le 10-06-2007 à 16:33:53    

je vous en supplie ...

Reply

Marsh Posté le 10-06-2007 à 16:40:55    

Bah si c'est simple pourquoi tu le fais pas ?


---------------
Töp of the plöp
Reply

Marsh Posté le 11-06-2007 à 09:17:26    

parce que je pense que pour des gens doués en VBA cela doit etre assez simple, mais pour moi cela n'a rien de simple.

Reply

Marsh Posté le 11-06-2007 à 09:28:20    

C'est donc le moment de lire la faq, du côté de "on fait pas les exercices pour vous" et/ou de se sortir les doigts du cul.


---------------
Töp of the plöp
Reply

Marsh Posté le 11-06-2007 à 09:40:51    

je suis en train de me sortir les doigts du cul puisque je le fais tout seul mais bon c pas évident quand ton boss te dis tu me fais ca pour mardi alors que tu n'a jamais fais de macro ...
Mais ce n'est pas grave je vais me débrouiller.
Garde tes compétence, ceci est tellement representatif de la France actuelle ...

Reply

Marsh Posté le 11-06-2007 à 09:44:08    

Ben poste ton travail qu'on voit au moins ce qui a été fait, histoire de faire avancer le bordel.
 
Et merci de ne pas disgresser, c'est pas un forum politique ici.


---------------
Töp of the plöp
Reply

Marsh Posté le 11-06-2007 à 09:52:54    

Je suis désolé d'etre aussi nul :
Voila mon travail .... ca ne marche bien evidemment pas
 

Code :
  1. Private Sub Worksheet_Activate()
  2. Dim MotCherche, L, C, InL, InC, OutL
  3. Dim Origine, Destination
  4. Set Origine = Workbooks(1).Sheets(1)
  5. Set Destination = Workbooks(1).Sheets(4)
  6. MotCherche = ActiveSheet.Range("A11" ).Value
  7. InL = Origine.ActiveCell.SpecialCells(xlCellTypeLastCell).Row
  8. InC = Orignie.ActiveCell.SpecialCells(xlCellTypeLastCell).Column
  9. OutL = Destination.ActiveCell.SpecialCells(xlCellTypeLastCell).Row
  10. For L = 1 To InL
  11.   If Origine.Cells(L, 4).Value = MotCherché Then
  12.     For C = 1 To InC
  13.       Destination.Cells(OutL, C).Value = Origine.Cells(L, C).Value
  14.       Next
  15.       OutL = OutL + 1
  16.     End If
  17.   Next
  18. End Sub

Reply

Marsh Posté le 11-06-2007 à 10:03:26    

en fait ce qu'il me manque c'est juste de savoir dire ma boucle de parcours de la collone de ma feuille
for each ...

Reply

Marsh Posté le 11-06-2007 à 10:15:11    

debut = ce_que_tu_as_envie
'Numero de la derniere ligne non vide de la colonne A
nb_lignes =  sheets(1).Range("A65536" ).End(xlUp).Row
for i = debut to nb_lignes
...
next i

Reply

Marsh Posté le 11-06-2007 à 10:15:11   

Reply

Marsh Posté le 11-06-2007 à 10:18:43    

et comment je peux récupere la valeur texte d'une cellule donnée ??
par ex ds A11 j'ai LYON je veux mettre lyon dans une variable

Reply

Marsh Posté le 11-06-2007 à 10:22:23    

strVille = cells(1,11).value ?
 
D'ailleurs, tes Dim au début du programme t'évitent les erreurs de l'option Explicit mais sont quasi inutiles si tu ne les typent pas
Dim motcherche as string, L as long, C as long...

Reply

Marsh Posté le 11-06-2007 à 10:23:52    

oui mais moi je veux recuperer le texte d'une cellule d'une de mes feuilles donc il faut que je précise la feuille non ?

Reply

Marsh Posté le 11-06-2007 à 10:26:58    

sheets(nomFeuille) ou sheets(index) puis .cells(x,y).value

Reply

Marsh Posté le 11-06-2007 à 10:28:12    

et ca marche pas cela me renvoit "" quand je regarde dans le debug
pourtant jai bien déclaré comme tu me l'a dis en string

Reply

Marsh Posté le 11-06-2007 à 10:36:47    

bon c'est bon j'arrive à récuperer ma valeur à comparer
maintenant il faut que je trouve comment la comparer à ma colonne dans l'autre feuille ...

Reply

Sujets relatifs:

Leave a Replay

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