[excel-vba-userform] boucle et fonctions [Résolu/Fermé]

Signaler
-
Messages postés
1
Date d'inscription
mercredi 16 mai 2007
Statut
Membre
Dernière intervention
16 mai 2007
-
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

3 réponses


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
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 60769 internautes nous ont dit merci ce mois-ci


up!
Messages postés
1
Date d'inscription
mercredi 16 mai 2007
Statut
Membre
Dernière intervention
16 mai 2007

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