F
Franck
Guest
vba&boucle
re-salut !
j'ai un autre pb, je vous explique, je développe des bases de données différentes par le contenu, mais identique par la présentation, et j'ai voulut pour gagner du temps reprendre une macro que j'avais déjà faite et la coller sur une des autres bases, et là bizarremùent ça ne marche pas, est-ce normal ?
Voici le code de ma boucle, celle-çi me premet de récupérer 99 valeurs pour annalyse ds un tablex provisoire qui me servira pour faire un graphique.
Sub nouvelleCourbe(numero_colonne1, numero_colonne2)
'
'
'macro pour une nouvelle Courbe
'
'déclaration de variables
colonne = numero_colonne1
colonne2 = numero_colonne2
ligne = 21
maxvaleur = 99
'
Worksheets("Accueil").Visible = False
Worksheets("Graphic").Visible = True
'mise à jour des titres de la feuille graphic
'
Worksheets("Graphic").Unprotect
Worksheets("Graphic").Cells(2, 7) = Cells(16, 1)
Worksheets("Graphic").Cells(2, 12) = Cells(16, 5)
Worksheets("Graphic").Cells(3, 7) = Cells(19, numero_colonne1)
Worksheets("Graphic").Cells(3, 26) = Cells(19, numero_colonne1)
Worksheets("Graphic").Cells(4, 26) = Cells(13, numero_colonne1)
Worksheets("Graphic").Cells(5, 26) = Cells(15, numero_colonne1)
Worksheets("Graphic").Cells(6, 26) = Cells(14, numero_colonne1)
Worksheets("Graphic").Cells(7, 26) = Cells(14, numero_colonne2)
Worksheets("Graphic").Cells(7, 27) = Cells(19, numero_colonne2)
For nbvaleur = 0 To maxvaleur
If Cells(ligne, colonne) = "*" Then
Worksheets("Graphic").Cells(3, 127 - nbvaleur) = ""
Else
If Cells(ligne, colonne) = "" Then
Do Until Cells(ligne, colonne) <> ""
ligne = ligne + 1
If ligne = 65535 Then
Exit Do
End If
Loop
Worksheets("Graphic").Cells(1, 127 - nbvaleur) = Cells(ligne, 2)
Worksheets("Graphic").Cells(2, 127 - nbvaleur) = Cells(ligne, 1)
Worksheets("Graphic").Cells(3, 127 - nbvaleur) = Cells(ligne, colonne)
Worksheets("Graphic").Cells(7, 127 - nbvaleur) = Cells(ligne, colonne2)
Else
Worksheets("Graphic").Cells(1, 127 - nbvaleur) = Cells(ligne, 2)
Worksheets("Graphic").Cells(2, 127 - nbvaleur) = Cells(ligne, 1)
Worksheets("Graphic").Cells(3, 127 - nbvaleur) = Cells(ligne, colonne)
Worksheets("Graphic").Cells(7, 127 - nbvaleur) = Cells(ligne, colonne2)
ligne = ligne + 1
End If
End If
Next nbvaleur
End Sub
re-salut !
j'ai un autre pb, je vous explique, je développe des bases de données différentes par le contenu, mais identique par la présentation, et j'ai voulut pour gagner du temps reprendre une macro que j'avais déjà faite et la coller sur une des autres bases, et là bizarremùent ça ne marche pas, est-ce normal ?
Voici le code de ma boucle, celle-çi me premet de récupérer 99 valeurs pour annalyse ds un tablex provisoire qui me servira pour faire un graphique.
Sub nouvelleCourbe(numero_colonne1, numero_colonne2)
'
'
'macro pour une nouvelle Courbe
'
'déclaration de variables
colonne = numero_colonne1
colonne2 = numero_colonne2
ligne = 21
maxvaleur = 99
'
Worksheets("Accueil").Visible = False
Worksheets("Graphic").Visible = True
'mise à jour des titres de la feuille graphic
'
Worksheets("Graphic").Unprotect
Worksheets("Graphic").Cells(2, 7) = Cells(16, 1)
Worksheets("Graphic").Cells(2, 12) = Cells(16, 5)
Worksheets("Graphic").Cells(3, 7) = Cells(19, numero_colonne1)
Worksheets("Graphic").Cells(3, 26) = Cells(19, numero_colonne1)
Worksheets("Graphic").Cells(4, 26) = Cells(13, numero_colonne1)
Worksheets("Graphic").Cells(5, 26) = Cells(15, numero_colonne1)
Worksheets("Graphic").Cells(6, 26) = Cells(14, numero_colonne1)
Worksheets("Graphic").Cells(7, 26) = Cells(14, numero_colonne2)
Worksheets("Graphic").Cells(7, 27) = Cells(19, numero_colonne2)
For nbvaleur = 0 To maxvaleur
If Cells(ligne, colonne) = "*" Then
Worksheets("Graphic").Cells(3, 127 - nbvaleur) = ""
Else
If Cells(ligne, colonne) = "" Then
Do Until Cells(ligne, colonne) <> ""
ligne = ligne + 1
If ligne = 65535 Then
Exit Do
End If
Loop
Worksheets("Graphic").Cells(1, 127 - nbvaleur) = Cells(ligne, 2)
Worksheets("Graphic").Cells(2, 127 - nbvaleur) = Cells(ligne, 1)
Worksheets("Graphic").Cells(3, 127 - nbvaleur) = Cells(ligne, colonne)
Worksheets("Graphic").Cells(7, 127 - nbvaleur) = Cells(ligne, colonne2)
Else
Worksheets("Graphic").Cells(1, 127 - nbvaleur) = Cells(ligne, 2)
Worksheets("Graphic").Cells(2, 127 - nbvaleur) = Cells(ligne, 1)
Worksheets("Graphic").Cells(3, 127 - nbvaleur) = Cells(ligne, colonne)
Worksheets("Graphic").Cells(7, 127 - nbvaleur) = Cells(ligne, colonne2)
ligne = ligne + 1
End If
End If
Next nbvaleur
End Sub