Aide pour macro qui bloque si elle n'est pas entièrement réinitialisée

  • Initiateur de la discussion Initiateur de la discussion piga25
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

piga25

XLDnaute Barbatruc
Bonjour le forum

Dans le fichier joint, j'ai une erreur qui se produit uniquement lorsque j'imprime un second jeu d'étiquettes pour le même produit ou lorsque je change de produit sans avoir quitter l'USF de saisie.
Ce que je souhaiterai avoir, c'est pouvoir utiliser toutes les commandes de l'USF sans pour autant le fermer. C'est à dire avoir la même procédure que pour l'impression d'une fiche (revenir sur la feuille BD et non rester sur la feuille étiquette).
 

Pièces jointes

Dernière édition:
Re : Aide pour macro

Salut Piga25,

Je n'ai rencontré aucun problème chez moi 😉 mis à part la définition des noms entre crochets pour les listes

En revanche 2 petites choses, si je puis me permettre
1) tu peux optimiser le code pou tes combobox
Code:
Private Sub UserForm_Initialize()  'à l'initialisation de l'Userform
  Dim Ind As Integer
  With F1
    .Unprotect
    .AutoFilterMode = False
    .Protect DrawingObjects:=True, Contents:=True
  End With
  With Me
    .MultiPage1.Value = 0
    .Width = Etroit
    .Left = (Application.Width - .Width) / 2
    .Top = (Application.Height - .Height) / 2
    .ckbOldPictos = True
    For Ind = 1 To 4
      'Danger principal, secondaire, tertaire et quaernaire
      Me("ComboBox" & Ind).List = Range("ListePicto1").Value
    Next Ind
    For Ind = 1 To 3
      ' Combobox 5 to 7
      Me("ComboBox" & 4 + Ind).List = Range("ListeRisques").Value
      ' Combobox 8 To 10
      Me("ComboBox" & 7 + Ind).List = Range("ListeCombiRisques").Value
      ' Combobox 11 To 13
      Me("ComboBox" & 10 + Ind).List = Range("ListePrudence").Value
      ' Combobox 14 o 16
      Me("ComboBox" & 13 + Ind).List = Range("ListeCombiPrudence").Value
      Next Ind
      If NumLigSelect > 0 Then
        .lblNumFiche = F1.Cells(NumLigSelect, 1)
        .lblNumLigne = NumLigSelect
        flagModif = 1
        MaJ_Controls NumLigSelect
      Else
        .lblNumFiche = [NewNumero]
        .lblNumLigne = [NewLigne]
        flagModif = 0
        MaJ_lbxRecherche
      End If
    End With
    ChoixMode flagModif
  End Sub

2) si tu veux pouvoir cliquer sur le bouton quand ta feuille est vérouillée, il faut utiliser
Code:
.Protect DrawingObjects:=True, Contents:=True

A+
 
Re : Aide pour macro

Bonjour BrunoM45

Merci pour l'obtimisation du code pour les combobox.

C'est dans ce code que j'ai une erreur et plus particulièrement à cette ligne : Range("F1,A13,F13,A25,F25,A37,F37").Select


Code:
Sub Copie()
'
' Copie Macro
'
With F8
    Application.Goto Reference:="Zone_Impr_1"
    Selection.Copy
    Range("F1,A13,F13,A25,F25,A37,F37").Select
    Range("F37").Activate
    ActiveSheet.Paste
    Application.CutCopyMode = False
    Range("B1").Select
End With
End Sub

Cela se produit uniquement lors d'une seconde impression d'étiquettes et sans avoir refermé l'USF. C'est à dire on imprime une première fois 8 étiquettes puis si on veut imprimer une seconde série d'étiquettes l'erreur se produit.
 
Re : Aide pour macro

Re,

Essaye avec ce code
Code:
Sub Copie()
  With Sheets("Etiquette")
    .Range("Zone_Impr_1").Copy Destination:=.Range("F1,A13,F13,A25,F25,A37,F37")
    Application.CutCopyMode = False
  End With
End Sub

Je conseille souvent d'utiliser les instructions VBA plutôt que les abrévations du style
Sheets("Etiquette") au lieu de F8 pour le nom de la feuille
ou
Range("NomDéfini") au lieu de [NomDéfini]

Tu peux voir les conseils ICI

A+
A+
 
Re : Aide pour macro

Re

Merci pour le code.
Code:
Sub Copie()
With Sheets("Etiquette")
.Range("Zone_Impr_1").Copy Destination:=.Range("F1,A13,F13,A25,F25,A37,F37")
Application.CutCopyMode = False
End With
End Sub
Après essai j'ai toujours la même erreur, je ne peux pas effectuer une seconde impression.
Cela bloque toujours sur la destination de la copie.
 
Re : Aide pour macro qui bloque si elle n'est pas entièrement réinitialisée

Bonjour le forum,

Après avoir tenté de résoudre ce problème, je n'y arrive toujours pas. A chaque fois que j'essais d'imprimer un second jeu d'étiquettes, j'ai une erreur dans cette ligne :
.Range("Zone_Impr_1").Copy Destination:=.Range("F1,A13,F13,A25,F25,A37,F37")
Code:
[FONT=monospace]Sub Copie()
  With Sheets("Etiquette")
    .Range("Zone_Impr_1").Copy Destination:=.Range("F1,A13,F13,A25,F25,A37,F37")
    Application.CutCopyMode = False
  End With
End Sub[/FONT]
 
Re : Aide pour macro qui bloque si elle n'est pas entièrement réinitialisée

Salut Piga25,

Je ne comprends pas ce qui ce passe, chez moi ça fonctionne très bien !?
Tu es bien sur Excel 2003 !?
As-tu vérifié si tu n'as pas une référence manquante ?
ALT+F11
Outils -> Références

A+
 
Re : Aide pour macro qui bloque si elle n'est pas entièrement réinitialisée

Je suis actuellement sur excel 2007
Alors pourquoi :
1) as-tu choisis [Toutes versions]
2) est-ce un fichier 2003
Attention !
Le développement de ce genre d'appli peut avoir de grosses différence entre les versions d'Excel
Et la preuve ...

Là par contre je ne vois pas laquelle pourrait me manquer, il y en a tellement dans la liste.
La référence manquante est celle cochée devant laquelle est marqué [MANQUANTE]

Ceci dis, je n'est un problème que quand je quitte l'USF, ça me fait planter Excel 🙁

A+
 
Dernière modification par un modérateur:
Re : Aide pour macro qui bloque si elle n'est pas entièrement réinitialisée

Re

1) as-tu choisis [Toutes versions]
2) est-ce un fichier 2003
Attention !
Le développement de ce genre d'appli peut avoir de grosses différence entre les versions d'Excel
1/la base a été principalement réalisée sur 2007.
2/C'est un fichier qui doit pouvoir s'éxécuter sur 2003 et 2007. C'est pour cette raison que j'ai mentionné toutes versions.

La référence manquante est celle cochée devant laquelle est marqué [MANQUANTE]
Ceci dis, je n'est un problème que quand je quitte l'USF, ça me fait planter Excel 🙁
Je n'ai aucune référence manquante de signalée.
J'ai fait un essai en passant le fichier sous 2010 et là il me le plante systématiquement.
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Retour