Super pb en VBA

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
 
Z

Zon

Guest
Salut,

Päs trés clair ton code malgré les commentaires, un fichier exemple avec les résultats attendus seraient plus faciles pour voir ce qui cloche. Tu as plein de If qui suivent pour qu'ils soients traités il faut que le premier (If Row.Cells(1, 9).Value = "ANA" And Row.Cells(1, 86).Value = "O" Then) soit validé...

A+++
 

Discussions similaires

Statistiques des forums

Discussions
312 505
Messages
2 089 070
Membres
104 017
dernier inscrit
annboi19