Aide pour une macro excel

Aide pour une macro excel - VB/VBA/VBS - Programmation

Marsh Posté le 02-07-2008 à 15:04:58    

Salut à tous,
 
je suis un peu embeté. J'essaie de faire une macro sous excel, mais sans succé depuis ce matin !
 
En fait, j'ai un classeur sous excel avec de trééééés nombreuses feuilles. Et sur chacune de ses feuilles j'ai des references.
Et parfois je dois rajouter des references à toutes ces feuilles. L'idée c'est de faire une nouvelle feuille, par exemple 'ajout reference', où avec une macro je pourrais en un seul coup rajouter une reference à toutes les feuilles.
 
J'ai donc une cellule 'nom de la reference', une cellule 'prix', mais je n'arrive pas à faire ma macro.
 
Pouvez vous m'aider svp ?
 
merci beaucoup :)

Reply

Marsh Posté le 02-07-2008 à 15:04:58   

Reply

Marsh Posté le 02-07-2008 à 15:44:02    

C'est quoi une référence ?


---------------
Feedback : http://forum.hardware.fr/hfr/Achat [...] 2666_1.htm
Reply

Marsh Posté le 02-07-2008 à 17:40:09    

C'est un intitulé, ca peut etre "GRH302", ou encore "taille crayon à pointe fine".  
Tu penses pouvoir m'aider ?

Reply

Marsh Posté le 02-07-2008 à 18:20:32    

C'est le nom de la cellulle ? (celui présent en haut à gauche)
Si c'est pas ca, donne un exemple ou une copie écran ou plus d'explication...


---------------
Feedback : http://forum.hardware.fr/hfr/Achat [...] 2666_1.htm
Reply

Marsh Posté le 03-07-2008 à 11:16:29    

En fait, c'est pas compliqué.
Regarde
 
http://www.zimagez.com/zimage/sans [...] 30deb2.php
 
 
Je voudrais creer une macro qui me permet de rajouter qqc en dessous de "trombone", mais dans toutes mes feuilles...


Message édité par benbigboss le 03-07-2008 à 11:17:25
Reply

Marsh Posté le 03-07-2008 à 11:38:46    

La ligne à laquelle il faut rajouter ton nouveau champ est la même dans tous tes onglets ou est ce que à chaque fois, il faut la déterminer ?


Message édité par babasss le 03-07-2008 à 11:39:00

---------------
Feedback : http://forum.hardware.fr/hfr/Achat [...] 2666_1.htm
Reply

Marsh Posté le 03-07-2008 à 11:44:25    

Oui, la ligne est la meme pour toutes les feuilles
En fait toutes les feuilles ont la meme forme. Seules les quantitées vont varier d'une forme à l'autre...


Message édité par benbigboss le 03-07-2008 à 11:45:05
Reply

Marsh Posté le 03-07-2008 à 12:36:37    

Tu places sur l'onglet "mononglet" :

  • en A1 : la ligne sur laquelle il faut faire l'ajout
  • en A2 : le nom de la cellule
  • en A3 : le prix


Code :
  1. Private Sub test()
  2. nb_onglet = ActiveWorkbook.Sheets.Count
  3. ligne = Sheets("mononglet" ).Cells(1, 1).Value
  4. nom_cellule = Sheets("mononglet" ).Cells(2, 1).Value
  5. prix = Sheets("mononglet" ).Cells(3, 1).Value
  6. For i = 2 To nb_onglet
  7.     With Sheets(i)
  8.         .Cells(ligne, 1).Value = nom_cellule
  9.         .Cells(ligne, 2).Value = prix
  10.     End With
  11. Next
  12. End Sub


---------------
Feedback : http://forum.hardware.fr/hfr/Achat [...] 2666_1.htm
Reply

Marsh Posté le 03-07-2008 à 14:52:58    

Super, ca ressemble à ce que je souhaite.
 
Cependant, c'est pas encore tout à fait ca... et tu vas trouver que j'abuse trop (car c'est moi qui me suit mal exprimé.)
 
Est il possible que la ligne n'est pas besoin d'etre demandée ? L'idée c'est que ca aille direct sur la derniere ligne de la liste.
Le probleme, c'est qu'en dessous la derniere ligne de la liste, il y a la ligne somme qui donne le total... et il faudrait qu'a chaque fois qu'on rajoute un produit, que la ligne somme se decalle aussi.
 
De plus, peut on indiquer les feuilles qui sont concernées ? Car a la toute fin, il ya deux feuilles de recap qui ne sont pas concernée.
 
Bref, j'ai fais une ebauche, mais ca fonctionne pas grrrr!

Code :
  1. Sub feuille2
  2. '
  3. ' Macro pour la feuille 1
  4. '
  5. '
  6.     Sheets("Nouvel article" ).Select
  7.     Range("B5" ).Select
  8.     Selection.Copy
  9.     Sheets("feuille 2" ).Select
  10.     ActiveWindow.SmallScroll Down:=137
  11.     Range("B156" ).Select
  12.     ActiveSheet.Paste
  13.     ActiveWindow.SmallScroll Down:=-137
  14.     Range("B7:N156" ).Select
  15.     ActiveWindow.SmallScroll Down:=-138
  16.     Application.CutCopyMode = False
  17.     Selection.Sort Key1:=Range("B7" ), Order1:=xlAscending, Header:=xlGuess, _
  18.         OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom
  19.     Range("A1" ).Select
  20. End Sub


 
Et faire ca pour chaque feuille...
Mais pkoi ca fonctionne pas ???

Reply

Marsh Posté le 03-07-2008 à 15:09:40    

un truc comme ca alors :

Code :
  1. Private Sub test()
  2. nb_onglet = ActiveWorkbook.Sheets.Count
  3. nom_cellule = Sheets("mononglet" ).Cells(1, 1).Value
  4. prix = Sheets("mononglet" ).Cells(2, 1).Value
  5. For i = 2 To nb_onglet
  6.     Sheets(i).Activate
  7.     ligne = Cells(1, 1).End(xlDown).Row - 1
  8.     Rows(ligne & ":" & ligne).Insert Shift:=xlDown
  9.     Rows((ligne + 1) & ":" & (ligne + 1)).Select
  10.     Selection.Cut
  11.     Rows(ligne & ":" & ligne).Insert Shift:=xlDown
  12.     Cells(ligne + 1, 1).Value = nom_cellule
  13.     Cells(ligne + 1, 2).Value = prix
  14. Next
  15. End Sub


---------------
Feedback : http://forum.hardware.fr/hfr/Achat [...] 2666_1.htm
Reply

Marsh Posté le 03-07-2008 à 15:09:40   

Reply

Marsh Posté le 03-07-2008 à 15:17:21    

Ca bug sur :
 
Rows((ligne + 1) & ":" & (ligne + 1)).Select

Reply

Marsh Posté le 03-07-2008 à 15:20:39    

Met la macro dans un module


---------------
Feedback : http://forum.hardware.fr/hfr/Achat [...] 2666_1.htm
Reply

Sujets relatifs:

Leave a Replay

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