D
DDC
Guest
Re kikoo
j'ai un mega probleme, j'ai le programme VBA suivant et je ne sais pas pourquoi celui ci ne fonctionne pas. Si une bonne ame pouvait eclairer ma lanterne je lui serai infiniment reconnaissant !!!.
De plus je tente de receuillir les informations pour construire un tableau dans une feuille independante.Par contre je ne sais pas comment creér des titres de colonnes et y integrer les
informations mis en memoire (comme Name, State0 ou encore State1 etc...).je doit obtenir en colonne Bus_Name, Electric_State0, Electric_State1, State0, State1 et en ligne le Name de chake parameter
Merci a tous ceux ki pourront m'aider !!
Sub crea_tab()
'
' crea_tab Macro
' Macro enregistrée le 22/04/2004 par C056666
'
'decalration des variables
Dim ligne, ligne1 As Long
Dim Bus_Name, Electic_State0, Electric_State1, State0, State1, Name As Variant
Dim ParamFound As Boolean
'suppression et cration d'un fichier pouvant receuillir les informations
Workbooks("bdss").Activate
Sheets(2).Delete
Worksheets.Add before:=Sheets(2): Sheets(2).Name = "prov"
Sheets(1).Select
Range(Cells(2, 1), Cells(2, 150)).Copy
Sheets(2).Activate
Range(Cells(1, 1), Cells(1, 150)).PasteSpecial
Sheets(1).Select
Application.ScreenUpdating = False 'évite de voir le déplacement entre les feuilles
'calcul du nombre max de ligne de la Feuil1
ligne1 = Range("A65536").End(xlUp).Row
'pour chaque ligne de la feuille
For Each Row In Worksheets("Feuil1").Cells(1, 1).CurrentRegion.Rows
If Row.Cells(1, 9).Value = "ANA" And Row.Cells(1, 86).Value = "O" Then
ParamFound = False
'cherche la valeur "Link" dont le nom correspond au connect des variables ANA sortie
For Each Cel In Range("A1:A" & ligne1)
If Cel.Value = "Link" And Row.Cells(1, 15).Value = Cel.Cells(1, 12) Then
linklin = Cel.Row
Bus_Name = Cells(linklin, 2)
'quand "Link" est trouvé redefini une limite à partir de la ligne inférieure
For Each newcel In Range("A" & linklin + 1 & ":A" & Range("A65536").End(xlUp).Row)
If newcel.Value <> "Parameter" Then 'si différent de "Parameter" recommence à chercher "LINK"
If newcel.Value = "Container" Then
'si = "Parameter" copie la ligne dans la feuille 2
linklin1 = newcel.Row
'mise en memoire des informations necessaire à la creation du tableau final
Electric_State0 = Cells(linklin1, 118)
Electric_State1 = Cells(linklin1, 140)
End If
'la boucle s'arrete si la valeur "Link" est trouvé
If newcel.Value = "Link" Then
Exit For
End If
Else
'si = "Parameter" copie la ligne dans la feuille 2
ParamFound = True
linklin2 = newcel.Row
State0 = Cells(linklin1, 102)
State1 = Cells(linklin1, 117)
Name = Cells(linklin1, 12)
Application.ScreenUpdating = True
End If
Next newcel
End If
If ParamFound = True Then
Exit For
End If
Next Cel
End If
Next Row
End Sub
j'ai un mega probleme, j'ai le programme VBA suivant et je ne sais pas pourquoi celui ci ne fonctionne pas. Si une bonne ame pouvait eclairer ma lanterne je lui serai infiniment reconnaissant !!!.
De plus je tente de receuillir les informations pour construire un tableau dans une feuille independante.Par contre je ne sais pas comment creér des titres de colonnes et y integrer les
informations mis en memoire (comme Name, State0 ou encore State1 etc...).je doit obtenir en colonne Bus_Name, Electric_State0, Electric_State1, State0, State1 et en ligne le Name de chake parameter
Merci a tous ceux ki pourront m'aider !!
Sub crea_tab()
'
' crea_tab Macro
' Macro enregistrée le 22/04/2004 par C056666
'
'decalration des variables
Dim ligne, ligne1 As Long
Dim Bus_Name, Electic_State0, Electric_State1, State0, State1, Name As Variant
Dim ParamFound As Boolean
'suppression et cration d'un fichier pouvant receuillir les informations
Workbooks("bdss").Activate
Sheets(2).Delete
Worksheets.Add before:=Sheets(2): Sheets(2).Name = "prov"
Sheets(1).Select
Range(Cells(2, 1), Cells(2, 150)).Copy
Sheets(2).Activate
Range(Cells(1, 1), Cells(1, 150)).PasteSpecial
Sheets(1).Select
Application.ScreenUpdating = False 'évite de voir le déplacement entre les feuilles
'calcul du nombre max de ligne de la Feuil1
ligne1 = Range("A65536").End(xlUp).Row
'pour chaque ligne de la feuille
For Each Row In Worksheets("Feuil1").Cells(1, 1).CurrentRegion.Rows
If Row.Cells(1, 9).Value = "ANA" And Row.Cells(1, 86).Value = "O" Then
ParamFound = False
'cherche la valeur "Link" dont le nom correspond au connect des variables ANA sortie
For Each Cel In Range("A1:A" & ligne1)
If Cel.Value = "Link" And Row.Cells(1, 15).Value = Cel.Cells(1, 12) Then
linklin = Cel.Row
Bus_Name = Cells(linklin, 2)
'quand "Link" est trouvé redefini une limite à partir de la ligne inférieure
For Each newcel In Range("A" & linklin + 1 & ":A" & Range("A65536").End(xlUp).Row)
If newcel.Value <> "Parameter" Then 'si différent de "Parameter" recommence à chercher "LINK"
If newcel.Value = "Container" Then
'si = "Parameter" copie la ligne dans la feuille 2
linklin1 = newcel.Row
'mise en memoire des informations necessaire à la creation du tableau final
Electric_State0 = Cells(linklin1, 118)
Electric_State1 = Cells(linklin1, 140)
End If
'la boucle s'arrete si la valeur "Link" est trouvé
If newcel.Value = "Link" Then
Exit For
End If
Else
'si = "Parameter" copie la ligne dans la feuille 2
ParamFound = True
linklin2 = newcel.Row
State0 = Cells(linklin1, 102)
State1 = Cells(linklin1, 117)
Name = Cells(linklin1, 12)
Application.ScreenUpdating = True
End If
Next newcel
End If
If ParamFound = True Then
Exit For
End If
Next Cel
End If
Next Row
End Sub