Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1155 connectés 

  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  conception de macro sur excel

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

conception de macro sur excel

n°1350329
travailled​ur
Posté le 20-04-2006 à 11:46:15  profilanswer
 

Bonjour,
 
je souhaite écrire une macro qui me permettra d'effectuer la tâche suivante:
 
1) j'ai une liste de 210 noms de salariés
2) je dois lire chaque nom et le copier l'un après l'autre dans une cellule inclusedans un  document situé sur la même feuille excel
cette copie déclanche la recherche d'éléments individuels puis
3) impression du document
 
merci de m'aider dans la rédaction du script
 
lecture du 1er nom
copie de ce nom dans la cellule
impression du document
effacement de la cellule
passage au nom suivant  
etc...
 
 
 

mood
Publicité
Posté le 20-04-2006 à 11:46:15  profilanswer
 

n°1350349
majid7
Posté le 20-04-2006 à 12:01:15  profilanswer
 

Le plus simple est d'allet dans (outils --> Macro -- nouvelle Macro) pour enregistrer une nouvelle macro.
 
Apres vous faites manuellement les opérations que vous avez indiqué , une fois finie vous arretez l'enregistrement de la macro.
 
Apres allez dans l'editeur visual basic dans (outils --> Macro -- Visual Basic Editor) chercher le nom que vous avez donné à la macro que vous avez enregitrée dans l'explorateur de projets -- > modules --- nom_macro() : Vous aurez le code généré par Excell et qui correspond au taches manuelles que vous avez effectuées

n°1350483
travailled​ur
Posté le 20-04-2006 à 14:32:46  profilanswer
 

Ok, mci pour l'info, j'ai déjà tenté ,cependant cette démarche ne me donnera pas la syntaxe de la boucle nécessaire pour lire tte la liste depuis n ,et c'est cela dont j'ai besoin

n°1350590
watashi
La démotivation : JAMAIS !
Posté le 20-04-2006 à 16:27:13  profilanswer
 

salut travailledur,
 
l'enregistreur de macro t'as donné une base pour le code, elle va permettre à ceux qui vont t'aider d'avoir les informations précises sur ce que tu veux faire sur un exemple concret (sur quelle feuille est ta liste de nom, dans quelle cellule tu colles ce nom, quelle feuille ou plage doit être imprimée...). Il sera ensuite plus facile de te guider, de te conseilller et de généraliser ton code à l'intégralité de ta liste de nom, si tu nous présentes au moins ce code.
Maintenant si tu veux une information sur les boucles tu peux regarder les boucles for...Next et Do...loop dans l'aide excel.
@+

n°1350603
JihemAir
Je sais pas
Posté le 20-04-2006 à 16:41:47  profilanswer
 


Sub Main()
Dim objSheet As Worksheet
Dim k As Integer
 
    ' Recup de la feuille du classeur
    Set objSheet = ThisWorkbook.ActiveSheet
     
    ' On boucle sur la liste des noms
    k = 1
    Do While objSheet.Range("A" & k).Value <> ""
        ' Copie du nom de la liste vers la cellule du formulaire
        objSheet.Range("C3" ).Value = objSheet.Range("A" & k).Value
        ' Rapatrier les données liées au nom
         
        ' Imprimer.
 
        k = k + 1
    Loop
 
    MsgBox "Terminé!"
 
End Sub


 
C'est un truc dans le genre?

n°1350638
travailled​ur
Posté le 20-04-2006 à 17:00:18  profilanswer
 

Merci pour vos réponses, j'ai suivi les indications de watashi et je pense que l'approche de jihemair est sur la voie, je vais tenter d'imbriquer la condition; en attendant voilà ci-après le code de l'enregistrement macro. brut de fonderie
 
    Range("I6" ).Select
    Selection.Copy
    Range("D9" ).Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Application.CutCopyMode = False
    ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
    Selection.ClearContents
    Range("I7" ).Select
End Sub
 
encore merci à vous

n°1350946
watashi
La démotivation : JAMAIS !
Posté le 21-04-2006 à 09:22:48  profilanswer
 

Salut travailledur,
 
J'ai repris ton code  puis j'ai placé une boucle For comme ça avec l'exemple de jihemair tu  auras pu voir un exemple de chacune des boucles dont je t'avait parlé.
Le code est commenté tu devrais pouvoir t'y retrouver.

Code :
  1. Sub ImprimeSelonListe()
  2. 'Déclaration et initialisation des variables
  3. Dim i As Integer   'Variable pour la boucle de traitement
  4. Dim Ws As Worksheet
  5. Set Ws = ActiveSheet ' le mieux serait ici de mettre
  6. 'Set Ws= thisworkbook.worksheets("NomdeLaFeuille" )
  7. Dim LigneFin As Integer, LigneDebut As Integer
  8. LigneDebut = 6
  9. 'Calcul de la première ligne remplie de la colonne I en paartant du bas de la feuille
  10. 'Te permet d'avoir des cellules vides dans ta liste
  11. LigneFin = Ws.Cells(65536, 9).End(xlUp).Row
  12. 'Ta cellule de destination de la valeur
  13. Dim MaCell As Range
  14. Set MaCell = Ws.Range("D9" )
  15. 'Ta boucle de traitement
  16. For i = LigneDebut To LigneFin Step 1
  17.     'précaution en cas de cellule vide dans ta liste
  18.     'vide non traité
  19.     If Ws.Cells(i, 9).Value <> "" Then
  20.         ' Placer la valeur
  21.         MaCell.Value = Ws.Cells(i, 9).Value
  22.         ' Imprimer ta page
  23.         Ws.PrintOut Copies:=1, Collate:=True
  24.     End If
  25. Next i
  26. 'Vider ta cellule une fois le traitement terminé
  27. MaCell.Value = ""
  28. End Sub

Hésites pas à poser des questions si tu as quopique ce soit que tu ne comprends pas :)
@+

n°1350953
travailled​ur
Posté le 21-04-2006 à 09:34:14  profilanswer
 

merci pour le travail watashi, c'est sympa
 
je mets en application et te tiens au courant de l'affaire
 
@+ , bonne journée
 
travailledur


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  conception de macro sur excel

 

Sujets relatifs
matrices avec classes vba/excellire des données d'une base de donnée avec excel
lire un fichier excel à l'aide de perlIgnorer le rapport d'erreur d'Excel
trouver le path d'un fichier excelFaire un programme en C ou C++ et l'utiliser sous excel ou Ooo
ou exclusif sur excelexécuter une macro excel depuis un script perl
[Résolu][VBA][EXCEL] Appel par Call plutôt que Run 
Plus de sujets relatifs à : conception de macro sur excel


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR