Macro designer objet avec numéro de ligne

Bonjour,

Voila mon probleme, sur un fichier de 500 ligne avec chacune des radiobuttons de type OUIxx NON xx SOxx, je masque des lignes en fonction dun critère sur la ligne B

J'aimerais que lorsque je masque une ligne les 3 radiobutton associé se masque également.

For each cell in selection

if cell.value = "1" then

cell.Entirerow.hidden = true

Radionbutton("OUIxx").visible = false

Radionbutton("NONxx").visible = false

Radionbutton("SOxx").visible = false

next cell

voila l'esprit, xx repésente la ligne et radiobutton est framesharp il me semble, mais la n'est pas le problème, je veux juste le moyen de désigner ces objets avec le numéro de la ligne que l'on masque pour qu'il se masque également,

Merci pour votre aide ,

James

Bonjour,

essaie

For Each cell In Selection
If cell.Value = "1" Then
    cell.EntireRow.Hidden = True
    With ActiveSheet
        .Shapes("OUI" & cell.Row).Visible = False
        .Shapes("NON" & cell.Row).Visible = False
        .Shapes("SO" & cell.Row).Visible = False
    End With

End If
Next cell

Bonjour Maths, encore une fosi ca fonctionne parfaitement !!

Je te remercie pour ton aide!

Juste une tite explication : que signifie shapes (selection de tous les objets?ou uniquement des contrôle?)

A quoi sert le &, ça signifie associé? et? (Je comprendrais parfaitement que tu ne réponde pas étant donné que les réponses sont sur le net, mais je n'arrive pas a saisir la notion de ce &)

et dernière question,

For Each cell In Selection

If cell.Value = "1" Then

cell.EntireRow.Hidden = True

With ActiveSheet

on error resume next

.Shapes("OUI" & cell.Row).Visible = False

.Shapes("NON" & cell.Row).Visible = False

.Shapes("SO" & cell.Row).Visible = False

End With

J'ai rajouter un "on error resume next" car le So n'est pas forcément sur toutes les lignes, sur mes tests tout fonctionne parfaitement, y a t il un risque que je sois embeter par la suite a cause de ca??

Merci pour ton aide !!!

James

- la collection shapes comprend tous les objets de la feuille de calcul, boutons, controles, dessins, etc... pour acceder à un controle comme dans ton cas, tu peux utiliser shapes(NomDuControle).

- Le & sert à concaténer ( à ajouter a la suite ) deux valeurs.

- Pour le on error, ça va fonctionner. Par contre tu l'utilises pour masquer une erreur que tu sais qui va se produire. Tu serait mieux de tester si le controle existe avant de le rendre invisible et de garder la gestion des erreurs au "vrai" erreur qui risque de se produire. En utilisant Resume Next de cette tu n'as pas moyen de savoir si l'erreur est du au controle inexistant ou bien si elle est provoqué par autre chose. Ex de code avec test des controles et gestions d'erreur:

Public Sub Test()
    On Error GoTo GestionErreur
    For Each cell In Selection
        If cell.Value = "1" Then
        cell.EntireRow.Hidden = True

        With ActiveSheet
            For i = 1 To .Shapes.Count
                MsgBox .Shapes(i).Name
                If .Shapes(i).Name = "OUI" & cell.Row Then .Shapes(i).Visible = False
                If .Shapes(i).Name = "NON" & cell.Row Then .Shapes(i).Visible = False
                If .Shapes(i).Name = "SO" & cell.Row Then .Shapes(i).Visible = False
            Next i
        End With

        End If
    Next cell

    Exit Sub

GestionErreur:
    MsgBox "Une erreur est survenue: " & Err.Description
    Resume Next
End Sub

Ok merci pour les précisions !!!

Je vais appliquer ca !!

Merci !!

James

Rechercher des sujets similaires à "macro designer objet numero ligne"