Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Super pb en VBA

  • Initiateur de la discussion Initiateur de la discussion DDC
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

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
 
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+++
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
5
Affichages
707
Réponses
2
Affichages
427
Réponses
4
Affichages
581
  • Question Question
Microsoft 365 worksheet_change
Réponses
29
Affichages
1 K
Réponses
8
Affichages
651
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…