Boucle vba sur tableau excel
sunshine
-
sunshine -
sunshine -
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
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:
- Boucle vba sur tableau excel
- Tableau word - Guide
- Trier un tableau excel - Guide
- Imprimer tableau excel sur une page - Guide
- Liste déroulante excel - Guide
- Tableau ascii - Guide
2 réponses
Bonjour,
je pense qu'en adaptant ce tuto tu pourra avancer dans ton projet.
A+
je pense qu'en adaptant ce tuto tu pourra avancer dans ton projet.
A+
sunshine
merci pour ta réponse rapide. je teste
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?
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?