[excel-vba-userform] boucle et fonctions

Résolu
Utilisateur anonyme -  
mentos64 Messages postés 1 Statut Membre -
Bonjour à tous!

ça fait un petit bout de temps que je ne suis pas passé ici alors je profite d'une difficulté pour revenir! :)

J'ai un classeur excel avec pleins de feuilles nommées 00,01,02 ...

J'ai un userform avec pleins de boutons nommés type_00,type_01,type02 ...

J'aimerais dans une boucle vba déclarer mes actions pour chaque boutonsdu style :

for i = 0 to 9
for j = 0 to 9
private function type_ij_Click()
resultat.titre.caption=type_ij.caption
'et d'autres truc correspondant à mes feuilles
end sub
next j
next i


une idée??? :)

Merci d'avance

--
"La culture c'est comme la confiture : moins on en a plus on l'étale"

3 réponses

  1. Utilisateur anonyme
     
    Merci à tous pour vos réponses!!! lol

    J'ai trouvé ce que je voulais!

    Pour ceux que ça intéresse :

    Sub Test()
    For Each O In ActiveSheet.OLEObjects
    If O.progID = "Forms.CommandButton.1" Then
    Code = "Sub type_" & O.Name & "_Click()" & vbCrLf 
    Code = Code & "Sheets("O.Name").select" & vbCrLf 
    Code = Code & "End Sub"
    End If
    Next
    End Sub

    1
  2. mentos64 Messages postés 1 Statut Membre
     
    bonjour à tous,
    je suis actuellement en train de réaliser une macro en VBA qui ne marche pas.
    Ma fonction doit me perttre de :
    - trouver sur une plage de données une cellule appelée "Designation"
    - une fois la cellule trouvée, je garde la colonne correspondante pour la comparer à una autre colonne d'une feuille appartenant à un autre classeur. si un intitulé n'est pas présent dans la colonne de "leaks index" alors je le rajoute à la fin de la colonne

    voici ma macro :

    Option Explicit
    Sub Designation_Systeme_Manquant()

    Dim Classeur1 As Workbook
    Dim Classeur2 As Workbook

    Set Classeur1 = Workbooks("leaks index.xls")
    Set Classeur2 = Workbooks("Calcul_compare+_Girassol.xls")

    Dim Feuille As Worksheet
    Dim F1 As Worksheet

    'Dim Plage As Range
    'Dim Cellule As Range
    'Dim Posit As Long

    Set F1 = Classeur1.Worksheets("all_type")

    Dim lig As Integer
    Dim col As Integer
    Dim colonneDesign As Integer
    Dim ligneDesign As Integer
    Dim lig1 As Integer

    For Each Feuille In Classeur2.Worksheets

    'Set Plage = Sheets("Feuille").Range(Cells(1, 1), Cells(10, 10))
    'For Each Cellule In Plage

    For lig = 1 To 10
    For col = 1 To 10

    'détection de la colonne contenant les intitulés des systèmes
    If Cells(lig, col).Value = "Designation" Then
    colonneDesign = col
    ligneDesign = lig + 2
    End If

    Next col
    Next lig

    ' détection des systèmes manquant dans leaks index
    While ligneDesign <= 200

    For lig1 = 7 To 163

    If Feuille.Cells(ligneDesign, colonneDesign).Value = F1.Cells(lig1, 2).Value Then
    ligneDesign = ligneDesign + 1
    End If

    If lig1 = 163 Then

    lig1 = 164
    While F1.Cells(lig1, 2).Value <> ""
    lig1 = lig1 + 1
    Wend

    If F1.Cells(lig1, 2).Value = "" Then
    F1.Cells(lig1, 2).Value = Feuille.Cells(ligneDesign, colonneDesign).Value
    End If

    End If

    Next lig1

    Wend

    Next Feuille

    End Sub

    quelles sont mes erreurs ?
    merci d'avance
    0