Soucis de macros

bonjour a tous

voici mon probleme

dans le fichier ci joint

quand je clique sur le bouton enregistrer sous cela enregiste comme je le veux tout fonctionne je ferme la page apres enregistrement ok

mais quand je rajoute cette macro (qui fonctionne)

If Range("b3") > 0 Then

Columns("g").Hidden = True

Else

Columns("g").Hidden = False

End If

quand je clique sur le bouton enregistrer sous cela fonctionne mais apres quand je veux fermer ma feuille il me demande (voullez vous enregistrer les modification)

etant nul de chez nul en macro (et encore c'est peu de le dire) "sourire"

je pense que je l'ai mise au mauvais endroit mais je ne sais ou la mettre

esperant avoir ete assez clair

amicalement

179177-22032011.xlsm (92.71 Ko)

Bonjour,

Première chose, ta sub fromage doit se trouver dans le module et pas dans la feuille. Je pense déjà te l'avoir dit dans un autre fil.

Deuxième, tu as deux sub fromage. Anormal aussi !

Pour ton message mets ceci dans ton code

Application.DisplayAlerts = False

Amicalement

re

merci dan pour ta reponse

comme dit dans mon precedent post je suis nul de chez nul

j'ai 52 ans et je fait du excel depuis 4 ou 5 ans et tout cela avec des livres mais cela me passionne donc soit indulgent si je ne comprend pas tout les termes d'excel du premier coup

ceci dis

1) sub fromage placée dans le module

2) deuxieme sub fromage effacée

3) a quel endroit placer dans mon code (Application.DisplayAlerts = False)

merci de votre amabilité

amicalement

Re,

Pas de souci. On est de la même génération...

Tu peux placer cette instruction juste avant le END SUB dans ta SUB fromage.

Retiens juste que les SUB sont toujours placées dans un module. On les appelle aussi PUBLIC SUB. Donc ta macro Fromage peut s'appeler aussi PUBLIC SUB ou SUB.

Les macros SUB qui sont liées à une feuille (on parle de macros événementiellles) sont de type PRIVATE. A titre d'exemple, vois celles que tu as dans ta feuille Bon de livraison.

Si besoin n'hésite pas.

Amicalement

re

et merci dan pour ta compréhension

j'espere avoir bien compris ta lecon et avoir mis ou il fallais la sub fromage

mais d'autre soucis se dessinent

dans le fichier ci joint (j'ai juste remplacé les prix)

toutes les case a cocher "cochez la case pour bon promo ect....) sont decrochée

quand je clique sur le bouton (cliquez pour imprimer ) j'ai l'apercu donc ok parfait

mais si je ferme l'apercu et que je revient sur la page la case a coché (cochez pour le bon promo) c'est coché toute seule donc le calcul du prix n'est plus le meme et il et faux

je ne sais pas pourquoi mais j'ai l'impression que cela vient du bouton pour imprimer ou de la macro

de plus

ton code (Application.DisplayAlerts = False) placé avant end sub dans la sub fromage cela n'a rien changé a mon probleme d'enregistrement

cela me demande toujour confirmation

j'espere ne pas trop prendre de votre temp

amicalement

Re,

Remplace ta sub Fromage par celle ci-dessous :

Sub fromage()
With Application
    .Dialogs(xlDialogSaveAs).Show Range("B5") & " " & Range("G4") & " " & Format(Now, "ddmmyyyy") '& ".xls"
    .DisplayAlerts = False
End With
ActiveWorkbook.Close
End Sub

mais si je ferme l'apercu et que je revient sur la page la case a coché (cochez pour le bon promo) c'est coché toute seule donc le calcul du prix n'est plus le meme et il et faux

Lorsque tu Imprimes, tu exécutes ta macro Masquer lignes et c'est l'instruction Range("o2") = "=b11>0" 'critère qui te pose un souci puisque la case à cocher dépend de cette cellule.

Il faudrait comprendre le pourquoi et comment tu fonctionnes dans ta feuille afin de te proposer une autre solution.

Aute chose à faire dans la feuille Bon de livraison c'est mettre cette instruction juste après Private Sub Worksheet_Calculate()

If Flag = True Then Exit Sub

Amicalement

re

dans le fichier excel

les lignes 11 a 59 se masquent si les cellules en colonne B sont vides

exemple

si en B12 j'y inscrit 1 (reste affiché puisque pleine)

la ligne 11 se masque ainsi que les lignes 13 a 59 (puisque vide)

ceci dans un but d'economie d'encre

esperant avoir ete assez clair dans mon explication

amicalement

Re,

Si ta plage reste bien figée entre B11 et B59, remplace ta macro par celle ci-dessous

Sub MasqueLignesVides()
'Macro Dan pour Teddy33
Range("B11:B59").SpecialCells(xlCellTypeBlanks).EntireRow.Hidden = True
End Sub

Amicalement

re

et merci de passer du temp avec moi et mes enemis les soucis

un nouveau ti probleme (sourire)

avant quand je cliquais sur le bouton vert "afficher tout" je pouvais revoir ma feuille ouverte "toute les lignes s'affichais" la cela ne fonctionne plus cela me permettais de rectifier si le client voulais rajouter d'autre colis a sa commande

quand ou bouton enregister sous il fonctionne mais ne me ferme que la feuille et pas excel apres enregistrement

desolé dan d'abuser de ta patience

amicalement

Re,

L'instruction "Showalldata" est plutôt utilisée dans le cas où tu utilises le filtre autoamtique.

reprends l'instruction utilisée dans mon dernier post et tu remplaces TRUE par FALSE.

Cela donnerait ceci :

Sub AfficherTout()
Range("B11:B59").SpecialCells(xlCellTypeBlanks).EntireRow.Hidden = False
Application.Goto Range("a10"), Scroll:=True
Range("b5").Activate
End Sub

Amicalement

merci dan

et encore excuse moi pour tout ton temp pris

tout fonctionne

merci et amitiée de biarritz

Rechercher des sujets similaires à "soucis macros"