A
agatso
Guest
bonjour.
J'ai un petit problème avec une macro excel. Je vous explique d'abord ce que je voudrais faire avant de vous montrer ma macro.
Exposé de la situation: je souhaite controler 1/4 des objets par pylone. Par exemple des tubes. Ce nombre de tube dépend du pylone, chaque pylone étant numéroté. Le n° et le nombre de tube par pylone, ainsi que leur diamètre est noté sur la feuille "bdd" (f1 dans la macro).
Je souaite inserer dans une autre feuille excel sur laquelle le tableau est déjà crer les indication suivantes:
n° pylone..1.. N° tube : 1 diametre du tube n°1 :
N° tube :2 diametre du tube n° 2:
n° pylone..2
etc
Mon problème: le n° de tube change, il arrive qu'il y est des interferences entre les tubes, des cases vides dans mon tableau..
De plus, je souhaiterai que si le nombre de pylone et de tube l'obligent, changer de feuille des que la ligne 31 est atteinte...et là je bloque completement!!
Maintenant voici la macro:
ub ctrl_outils()
Set don1 = Workbooks("nom_fichier.xls").Sheets("feuil1")
donn1 = don1.Cells(5, 3)
Set f1 = Workbooks(donn1).Sheets("Feuil1") ' bdd
Set don5 = Workbooks("nom_fichier.xls").Sheets("feuil1")
donn5 = don5.Cells(11, 3)
Set f5 = Workbooks(donn5).Sheets("feuille1") ' pv outils
nb_pylone = 0
While f1.Cells(nb_pylone + 7, 2) <> Empty
nb_pylone = nb_pylone + 1
Wend
i = 0
While i < nb_pylone
c = f1.Cells(i + 7, 19)
d = c / 4
f5.Cells(((i * d) + 21), 13) = f1.Cells((i + 7), 2) 'n°pylone
f5.Cells(1, 34) = f1.Cells(1, 2) 'chantier n°
f5.Cells(2, 9) = f1.Cells(1, 8) 'nom ligne
j = 4
While j <= c 'nbre pieu par pylone
a = j / 4 'nbre de tube à controler
f5.Cells((i * d) + 21 + a - 1, 19) = a 'n° tube
f5.Cells((i * d) + 21 + a - 1, 23) = f1.Cells(i + 7, 20) 'diam TUBE
j = j + 4
Wend
i = i + 1
Wend
End Sub
Merci d'avance!!
J'ai un petit problème avec une macro excel. Je vous explique d'abord ce que je voudrais faire avant de vous montrer ma macro.
Exposé de la situation: je souhaite controler 1/4 des objets par pylone. Par exemple des tubes. Ce nombre de tube dépend du pylone, chaque pylone étant numéroté. Le n° et le nombre de tube par pylone, ainsi que leur diamètre est noté sur la feuille "bdd" (f1 dans la macro).
Je souaite inserer dans une autre feuille excel sur laquelle le tableau est déjà crer les indication suivantes:
n° pylone..1.. N° tube : 1 diametre du tube n°1 :
N° tube :2 diametre du tube n° 2:
n° pylone..2
etc
Mon problème: le n° de tube change, il arrive qu'il y est des interferences entre les tubes, des cases vides dans mon tableau..
De plus, je souhaiterai que si le nombre de pylone et de tube l'obligent, changer de feuille des que la ligne 31 est atteinte...et là je bloque completement!!
Maintenant voici la macro:
ub ctrl_outils()
Set don1 = Workbooks("nom_fichier.xls").Sheets("feuil1")
donn1 = don1.Cells(5, 3)
Set f1 = Workbooks(donn1).Sheets("Feuil1") ' bdd
Set don5 = Workbooks("nom_fichier.xls").Sheets("feuil1")
donn5 = don5.Cells(11, 3)
Set f5 = Workbooks(donn5).Sheets("feuille1") ' pv outils
nb_pylone = 0
While f1.Cells(nb_pylone + 7, 2) <> Empty
nb_pylone = nb_pylone + 1
Wend
i = 0
While i < nb_pylone
c = f1.Cells(i + 7, 19)
d = c / 4
f5.Cells(((i * d) + 21), 13) = f1.Cells((i + 7), 2) 'n°pylone
f5.Cells(1, 34) = f1.Cells(1, 2) 'chantier n°
f5.Cells(2, 9) = f1.Cells(1, 8) 'nom ligne
j = 4
While j <= c 'nbre pieu par pylone
a = j / 4 'nbre de tube à controler
f5.Cells((i * d) + 21 + a - 1, 19) = a 'n° tube
f5.Cells((i * d) + 21 + a - 1, 23) = f1.Cells(i + 7, 20) 'diam TUBE
j = j + 4
Wend
i = i + 1
Wend
End Sub
Merci d'avance!!