Léger problème sur une macro
Résolu
palban53
Messages postés
44
Date d'inscription
Statut
Membre
Dernière intervention
-
palban53 Messages postés 44 Date d'inscription Statut Membre Dernière intervention -
palban53 Messages postés 44 Date d'inscription Statut Membre Dernière intervention -
Bonsoir,
Je me permets de vous déranger en raison d’un léger problème sur une macro que je n’arrive pas corrigé.
En effet, je suis en train de remplir une fiche qui permet de donner des informations sur les articles (fiche article)
Pour ce faire, j’ai décidé de mettre des boutons qui remplissent certaines cellules et pour d’autres elles sont en automatiques.
J’ai un problème pour le remplissage des cellules dans l’onglet « FABRICATION » (appuyer sur le bouton "Fabrication" dans l'onglet "choix" ou "retour au choix")
- ligne 165 (partie dédiée au « PCB (Carton) »)
- ligne 173 (partie dédiée au « PALETTE-BAC»)
J’ai un problème pour le remplissage des cellules dans l’onglet « NEGOCE»
- ligne 72 (partie dédiée au « PCB (Carton) »)
- ligne 80 (partie dédiée au « PALETTE-BAC»)
Par exemple pour l'onglet "FABRICATION"
Je clique sur le bouton « valider » que vous pouvez constater en ligne 163 et 171 ET il y a seulement la 1ere cellule qui se remplis (cellule C165 et C173) pour le reste (cellules F165 / I165 et F173/ I173) aucune donnée appairait.
Pour regarder ce que j’ai fait, aller voir les macros suivantes :
- « aide_cdt_carton_F » (lié à l’onglet « FABRICATION ») CARTON
- « aide_cdt_carton_N » ( lié à l’onglet « NEGOCE ») CARTON
- "aide_cdt_palette_F" (lié à l’onglet « FABRICATION ») PALETTE
- "aide_cdt_palette_N" ( lié à l’onglet « NEGOCE ») PALETTE
VOICI LE DEBUT DE LA 1ERE MACRO CONCERNEE
Sub aide_cdt_carton_N() 'vérifier dans quel type de vente on est pour negoce
“If ThisWorkbook.Sheets(2).Range("E127").Value = "1" Then
If ThisWorkbook.Sheets(2).Range("C70").Value <> "" Then
If ThisWorkbook.Sheets(2).Range("C70").Value = "EMB 003" Then
ThisWorkbook.Sheets(2).Range("C72").Value = "60"
ThisWorkbook.Sheets(2).Range("F72").Value = "40"
ThisWorkbook.Sheets(2).Range("I72").Value = ""
End »
Comme vous le voir j'ai un déclencheur en cellule E127 pour l'onglet "NEGOCE" et dés que la valeur est différente de l'ensemble vide et qu'il est noté "EMB 003" alors cela doit noté 60 dans la cellule C72 (longueur) puis 40 dans la cellule F72 (largeur) et rien dans la cellule I72 (hauteur)
Merci beaucoup pour votre aide, je ne sais pas pourquoi cela ne déclenche que pour la 1ere cellule et pas les 2 autres.
Merci beaucoup pour votre aide. Etant débutant, je pense que ce problème est très simple corriger vous concernant.
Si vous avez la moindre question n'hésitez pas à me recontacter.
Voici le lien du fichier : http://www.cjoint.com/c/GFgsQCrXjat
Merci beaucoup de votre aide
Cordialement
Je me permets de vous déranger en raison d’un léger problème sur une macro que je n’arrive pas corrigé.
En effet, je suis en train de remplir une fiche qui permet de donner des informations sur les articles (fiche article)
Pour ce faire, j’ai décidé de mettre des boutons qui remplissent certaines cellules et pour d’autres elles sont en automatiques.
J’ai un problème pour le remplissage des cellules dans l’onglet « FABRICATION » (appuyer sur le bouton "Fabrication" dans l'onglet "choix" ou "retour au choix")
- ligne 165 (partie dédiée au « PCB (Carton) »)
- ligne 173 (partie dédiée au « PALETTE-BAC»)
J’ai un problème pour le remplissage des cellules dans l’onglet « NEGOCE»
- ligne 72 (partie dédiée au « PCB (Carton) »)
- ligne 80 (partie dédiée au « PALETTE-BAC»)
Par exemple pour l'onglet "FABRICATION"
Je clique sur le bouton « valider » que vous pouvez constater en ligne 163 et 171 ET il y a seulement la 1ere cellule qui se remplis (cellule C165 et C173) pour le reste (cellules F165 / I165 et F173/ I173) aucune donnée appairait.
Pour regarder ce que j’ai fait, aller voir les macros suivantes :
- « aide_cdt_carton_F » (lié à l’onglet « FABRICATION ») CARTON
- « aide_cdt_carton_N » ( lié à l’onglet « NEGOCE ») CARTON
- "aide_cdt_palette_F" (lié à l’onglet « FABRICATION ») PALETTE
- "aide_cdt_palette_N" ( lié à l’onglet « NEGOCE ») PALETTE
VOICI LE DEBUT DE LA 1ERE MACRO CONCERNEE
Sub aide_cdt_carton_N() 'vérifier dans quel type de vente on est pour negoce
“If ThisWorkbook.Sheets(2).Range("E127").Value = "1" Then
If ThisWorkbook.Sheets(2).Range("C70").Value <> "" Then
If ThisWorkbook.Sheets(2).Range("C70").Value = "EMB 003" Then
ThisWorkbook.Sheets(2).Range("C72").Value = "60"
ThisWorkbook.Sheets(2).Range("F72").Value = "40"
ThisWorkbook.Sheets(2).Range("I72").Value = ""
End »
Comme vous le voir j'ai un déclencheur en cellule E127 pour l'onglet "NEGOCE" et dés que la valeur est différente de l'ensemble vide et qu'il est noté "EMB 003" alors cela doit noté 60 dans la cellule C72 (longueur) puis 40 dans la cellule F72 (largeur) et rien dans la cellule I72 (hauteur)
Merci beaucoup pour votre aide, je ne sais pas pourquoi cela ne déclenche que pour la 1ere cellule et pas les 2 autres.
Merci beaucoup pour votre aide. Etant débutant, je pense que ce problème est très simple corriger vous concernant.
Si vous avez la moindre question n'hésitez pas à me recontacter.
Voici le lien du fichier : http://www.cjoint.com/c/GFgsQCrXjat
Merci beaucoup de votre aide
Cordialement
A voir également:
- Léger problème sur une macro
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Windows leger - Télécharger - Systèmes d'exploitation
- Jitbit macro recorder - Télécharger - Confidentialité
- Télécharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Ordinateur portable leger - Guide
1 réponse
Bonjour,
Votre souci est lie au declanchement de la procedure evenementielle
Qui se declanche systematiquement a chaque changement de valeur cellule ou clic sur un bouton et arrete la procedure en court d'excecution . Pour palier a ceci, vous devez utilise l'instruction suivant
Application.EnableEvents a false/true pour desactiver/activer le declanchement des evenements Excel et surtout ajouter un code qui sur erreur activera les evenements Excel sinon marche plus, obliger de fermer le fichier
Cette ligne d'instruction est a mettre en debut (a false)et fin (a true) des procedures qui modifient les feuilles NEGOCE et FABRICATION
Maintenant pourquoi :
Car a chaque remplissage de cellule, elle s'execute
A+ pour plus d'explications si necessaire
Votre souci est lie au declanchement de la procedure evenementielle
Private Sub Workbook_SheetChange(ByVal sh As Object, ByVal Source As Range) Call macro End Sub
Qui se declanche systematiquement a chaque changement de valeur cellule ou clic sur un bouton et arrete la procedure en court d'excecution . Pour palier a ceci, vous devez utilise l'instruction suivant
Application.EnableEvents a false/true pour desactiver/activer le declanchement des evenements Excel et surtout ajouter un code qui sur erreur activera les evenements Excel sinon marche plus, obliger de fermer le fichier
Cette ligne d'instruction est a mettre en debut (a false)et fin (a true) des procedures qui modifient les feuilles NEGOCE et FABRICATION
Maintenant pourquoi :
Private Sub Workbook_SheetChange(ByVal sh As Object, ByVal Source As Range) Call macro End Sub
Car a chaque remplissage de cellule, elle s'execute
A+ pour plus d'explications si necessaire
Merci beaucoup pour votre aide si précieuse et si rapide.
Cela m'a permis de pallier à mes problèmes.
Le "call macro" permet de faire fonctionner toutes les macros en automatique dans le document.
Je les insère au fur et à mesure et cela permet d'avoir plusieurs qui fonctionnent en même temps.
Encore merci
Bonne soirée