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

[RESOLU] Erreur d'éxecution 2147024809 (80070057): L'élément portant ce nom est introuvable

RomaneK

XLDnaute Nouveau
Bonjour,

J'ai une macro qui fonctionnait très bien, j'en ai fais d'autres, changer les noms de mes feuilles ou mes plages de cellules ont bougé mais j'ai bien tout vérifié et modifié correctement mais j'obtiens l'erreur du titre sur la ligne :
With Activesheet.Shapes("Check box"& cellule.Row)
Mais j'ai vérifié 15 fois et j'ai rien touché par rapport au début... je vous joint la macro complète :
VB:
Sub Generer_listes_preparation()

Application.ScreenUpdating = False
   
'Filtre avancé qui séléctionne les éléments cochés dans la feuille Choix matériaux et les copie dans la feuille Mise en préparation
    Columns("AH:AM").Hidden = False
    Sheets("Choix_materiaux").Activate
    Sheets("Choix_materiaux").Range("B34:G118").AdvancedFilter Action:=xlFilterCopy, CriteriaRange:=Sheets("Mise_en_preparation").Range("BW2:CB3"), CopyToRange:=Sheets("Mise_en_preparation").Range("B2:E2"), Unique:=False
    Sheets("Mise_en_preparation").Select
    ' Cacher la zone de critères
    Columns("BV:CC").Hidden = True
    ' Afficher ou masquer des cases à cocher
    Dim cellule As Range
    For Each cellule In Range("B3:B154")
        'Lorsque la valeur 0 est détecté dans la colonne B, le contenu de la cellule est effacé pour faire disparaitre la case à cocher
        If cellule.Value = "0" Then cellule.ClearContents
        'Lorsque la valeur est différente de 0 dans la colonne B, une case à cocher apparaît dans la colonne nommée "CHOIX"
        If cellule.Value <> "0" Then
        Sheets("Mise_en_preparation").Activate
        With ActiveSheet.Shapes("Check Box" & cellule.Row)
                 .DrawingObject.Value = False
                 .Visible = cellule <> ""
            End With
        End If
    Next
   
    'Uniformise la mise en page
    Range("B3:F54").Select
    Selection.Borders(xlDiagonalDown).LineStyle = xlNone
    Selection.Borders(xlDiagonalUp).LineStyle = xlNone
    With Selection.Borders(xlEdgeLeft)
        .LineStyle = xlContinuous
        .ColorIndex = 0
        .TintAndShade = 0
        .Weight = xlThin
    End With
    With Selection.Borders(xlEdgeTop)
        .LineStyle = xlContinuous
        .ColorIndex = 0
        .TintAndShade = 0
        .Weight = xlThin
    End With
    With Selection.Borders(xlEdgeBottom)
        .LineStyle = xlContinuous
        .ColorIndex = 0
        .TintAndShade = 0
        .Weight = xlThin
    End With
    With Selection.Borders(xlEdgeRight)
        .LineStyle = xlContinuous
        .ColorIndex = 0
        .TintAndShade = 0
        .Weight = xlThin
    End With
    With Selection.Borders(xlInsideVertical)
        .LineStyle = xlContinuous
        .ColorIndex = 0
        .TintAndShade = 0
        .Weight = xlThin
    End With
    With Selection.Borders(xlInsideHorizontal)
        .LineStyle = xlContinuous
        .ColorIndex = 0
        .TintAndShade = 0
        .Weight = xlThin
    End With
    Rows("3:54").Select
    With Selection.Interior
        .Pattern = xlNone
        .TintAndShade = 0
        .PatternTintAndShade = 0
    End With
    Range("A3").Select
End Sub

Merci pour votre aide... J'espère trouver une solution, je viens de créer et renommer 100 check box pour cette macro...
 

cathodique

XLDnaute Barbatruc
J'ai bien pris note de ta remarque. Il me semble tu as oublié que c'est un forum d'entraide.
On ne vient pas juste pour être servi.

RomaneK avec un K majuscule. Bien fait pour ma...
C'est très très bien noté dans ma petite tête. Il n'y aura plus de prochaine fois.
 

RomaneK

XLDnaute Nouveau

Je sais très bien que c'est un forum d'entraide, je ne suis pas un princesse qui vient juste chercher quelqu'un pour faire mon boulot. J'ai bossé et réfléchi de mon côté mais je suis DÉBUTANTE donc je ne comprends pas tout et ne sais pas tout. J'ai pris notes de ce que tu as fait et essayé de comprendre mais j'ai préféré justement faire à ma manière et ne pas abuser du temps des personnes de ce forum d'où les excuses et le "résolu". Si j'étais mauvaise comme tu dois le penser je n'aurais pas répondu ni présenté d'excuses.
Sur ce, je pense que d'autres personnes me comprendront.

CONVERSATION TERMINEE !
 

cathodique

XLDnaute Barbatruc
tu n'as rien compris. Tu as solutionnée ton problème toute seule, j'en suis ravi.
L'entraide implique que tu postes ta solution qui pourrait servir à d'autres personnes.
C'est par rapport à ça que j'étais .
Quand on est dans la mélasse, on est bien content de trouver une réponse à son problème sur le forum.
Et si on ne trouve pas, on est encore plus content quand on est aidé gracieusement.
Tous les bénévoles qui donnent un coup n'attendent rien en retour, si ce n'est de la reconnaissance.
Sur ce ...
 

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…