[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...
 

RomaneK

XLDnaute Nouveau
Bonjour Cathodique,
Désolé, j'avais expliqué dans d'autres discussion, j'ai oublié de le refaire.
Le but de cette macro est de générer une liste de préparation.
1. L'utilisateur choisi dans "choix_materiaux" les matériaux de chantier qu'il a besoin pour un projet en cochant les cases en face
2. Lorsqu'il clic sur le bouton "generer listes", les éléments sont copiés grâce au filtre avancé dans la feuille "Mise_en_preparation"
3.Lorsque les matériaux sont copiés, des cases à cocher s'affiche ou se masque suivant si les lignes sont non vides ou vides.
4. Juste après que ce soit copiés, la liste des murs renseignés dans "mise_en_production" est copié dans la colone C de "mise_en_preparation" sous la liste précédemment copié
5. Rebelote pour les cases à cocher et les cellules de la colonne B en face des murs doit avoir pour valeur "Mur "

2,3,4,5 doivent se faire via la bouton donc dans la meme macro
 

RomaneK

XLDnaute Nouveau
Bonjour DD,

Oui je suis débutante et j'ai eu des gros plantages donc ça avance doucement. De plus on me rajoute des choses à faire, des tableaux en plus mes plages de cellules dans les macros sont changés etc... donc c'est super long...
Normalement la check box 125 est créé vu que j'ai passé du temps hier à créer les manquantes (une centaine) justement pour pas faire bugger ma macro ...
 

D.D.

XLDnaute Impliqué
Normalement la check box 125 est créé ...
Oui, mais il a du être effacé/supprimé.
On le voit assez bien dans le volet sélection (tu sélectionnes n'importe laquelle puis "outils de dessin / format / et l'icone avec une petite flèche, vers la moitié droite du ruban)

De plus on me rajoute des choses à faire, des tableaux en plus...
Ben oui, quand on voit quelqu'un qui sait faire, on devient vite gourmand.
 

RomaneK

XLDnaute Nouveau
Je ne connaissais pas l'onglet des check box, j'ai fait ma vérification en les sélectionnant une par une hier soir...
On le voit assez bien dans le volet sélection (tu sélectionnes n'importe laquelle puis "outils de dessin / format / et l'icone avec une petite flèche, vers la moitié droite du ruban)
Comme ça j'ai aussi vu que j'avais des doublons ! J'ai tout réorganisé et elles sont toutes là !

De si petites choses me bloquent des heures, c'est incroyable ^^'
Merci DD, ça a l'air de marcher jusqu'aux prochain problèmes, si vous avez remarqué je multiplie les discussions sur ce forum ! :D
Merci aux autres aussi
 
Dernière édition:

cathodique

XLDnaute Barbatruc
Je t'avoue que depuis ce matin j'essaie de comprendre ton fichier et tes codes, ça ne passe pas. J'ai le tournis.

Pourquoi sur ta feuille "Choix_materiaux", tu as plein de lignes vides. Ensuite, pourquoi sur la feuille "Mise_en_preparation" tu as aussi des cases à cocher. Il me semble que le choix ce fait sur ta feuille "Choix_materiaux" et via ton filtre avancé tu la copies sur la feuille "Mise_en_preparation". Vraiment pas compris ton raisonnement.

Ensuite, dans ton code on ne sait pas vraiment sur quelle feuille on travaille. Je n'ai pris que le début de ta macro
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  '**sur quelle feuille ces colonnes sont masquées
    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 'après selection de la feuille Mise_en_preparation
    ' 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 'tu es déjà sur la feuille pourquoi l'activer
        With ActiveSheet.Shapes("Check Box" & cellule.Row)
                 .DrawingObject.Value = False
                 .Visible = cellule <> ""
            End With
        End If
    Next
Stop
Revoie un peu la conception de ton fichier.
 

cathodique

XLDnaute Barbatruc
J'ai fait pas mal de ménage sur la feuille choix matériaux. il y avait des checkboxs masquées et en plus tu as mélangé des cases formulaires et activeX.

Bon, je les ai toutes virées. J'ai ajouté une feuille où sera transféré la liste des matériaux cochés.
Je te laisse le soin d'adapter sur ta feuille. J'espère avoir compris tes attentes.

Je n'ai pas testé ton code après avoir refait la feuille choix matériaux.

ton fichier en retour, tu coches et tu cliques sur le bouton.
 

Pièces jointes

  • Bons de chargement et de livraison (c) - Copie.xlsm
    274.1 KB · Affichages: 37

RomaneK

XLDnaute Nouveau
Bonjour cathodique,

Et désolé pour le retard de réponse, mais après l'aide de DD et avant ta réponse j'avais résolu le problème (d'où le titre [RESOLU] mis vendredi matin) et fait le "ménage". Ta version ne correspond pas à ce que mon responsable veut mais merci quand même. Désolé de t'avoir fait perdre ton temps.
 

Statistiques des forums

Discussions
312 104
Messages
2 085 332
Membres
102 863
dernier inscrit
Selemani