Boucle vba sur tableau excel

Fermé
sunshine - 26 juil. 2010 à 13:55
 sunshine - 27 juil. 2010 à 12:01
Bonjour,

je programme sous VBA excel depuis 6 mois seulement. donc autant dire que je suis débutant. j'expose mon pb en français:

j'ai un tableau excel avec 8 colonnes sur la feuille 1. le nombre de lignes varie. sur une autre feuille 2, j'ai un modèle de lettre. je voudrais creer une macro avec une boucle qui me permette d'imprimer ma lettre de la feuille 2 en fonction de certains éléments de mon tableau(feuille 1). notamment, je voudrais que la boucle parcourre la colonne H de mon tableau(feuille 1); si elle trouve un certain mot par exemple "exc", elle copie la valeur de la colonne A correspondant, la colle dans la cellule "B6" de la feuille 2 et imprime la feuille 2.

voilà j'espère avoir été assez claire.

help please!!!! thanks

A voir également:

2 réponses

lermite222 Messages postés 8724 Date d'inscription dimanche 8 avril 2007 Statut Contributeur Dernière intervention 22 janvier 2020 1 190
26 juil. 2010 à 14:31
Bonjour,
je pense qu'en adaptant ce tuto tu pourra avancer dans ton projet.
A+
0
merci pour ta réponse rapide. je teste
0
je reviens tjrs par rapport à mon problème. j'ai écris une ébauche de code:
Sub imprime()
Dim c As Range
For Each c In [recherche] "recherche" est le nom de la plage sur laquelle je boucle
ligne = c.Row
If c.Value = "Exc. Rach." Then
[code] = Cells(ligne, 1) "code" est le nom d'une cellule dans ma feuil("lettre_réduction")
Sheets("lettre_réduction").PrintOut
End If
If c.Value = "Exc.Sous." Then
[codec] = Cells(ligne, 1) "codec" est le nom d'une cellule dans ma feuil("lettre_augmentation")
Sheets("lettre_augmentation").PrintOut
End If
If c.Value = "en attente" Then
c.EntireRow.Copy
Sheets("en_attente").Activate
Rows("2:2").Select
Selection.Insert Shift:=xlDown
End If
Next c
End Sub


le PB est le suivant: suppossons qu'il 6 entrées dans [recherche] (2 "exc.rach" / 2 "exc.sous" et 2 "en attente").
le programme copie bien les 2 lignes "en attente" dans la sheets("en_attente"). il imprime bien 4 pages, mais sauf que seulle la première page est remplie. les 3 autres sont vierges.

how is it possible? any idea?
0