Application SreenUpdating + Bouton

Bonjour à tous,

J'utilise le code ApplicationSreenUpdating = False/True depuis quelques temps sans aucun problème. Hors voilà que dans un fichier, elle ne fonctionne pas... je ne comprends pas pourquoi? J'ai fouillé sur des forums sans trouver de solutions... Est-ce que quelqu'un a déjà eu ce genre de problème?

De plus, j'ai des boutons qui se retrouve sous mon figer les volets, mais je voudrais tout de même qu'il reste fixe lorsque je scroll down... j'ai essayé d'aller dans positionnement, rien ne fait. Avez-vous une idée?

Autre petite question, il y a t'il un moyen de faire une loupe sur une seule cellule, car j'ai un menu déroulant dans une feuille à 50%, les données sont presque invisibles dans le menu.

Merci de votre aide précieuse et bonne journée !

Bonjour vinc87,

Il faudrait que tu joignes un bout de fichier !

Sinon pour figer également ton bouton, à part inclure les lignes où se trouve le bouton, dans la fixation des volets, je ne sais pas.

Pour la loupe, j'avais vu sur le site de jacques boisgontier un truc qui pourra t'intéresser :

http://boisgontierjacques.free.fr/pages_site/lesimages.htm#Loupe

Loupe

Affiche dans un shape le contenu de la cellule active. Si le shape est détruit, il est recrée par le programme.

Loupe

Private Sub Worksheet_SelectionChange(ByVal Target As Range)

On Error Resume Next

If Target.Count = 1 And Shapes("monshape").Visible = True Then

If Err <> 0 Then creeShape

Shapes("monshape").Left = ActiveCell.Left

Shapes("monshape").Top = ActiveCell.Top + ActiveCell.Height + 3

Shapes("monshape").TextFrame.Characters.Text = ActiveCell

End If

End Sub

Le double clic permet de masquer/Afficher la loupe

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)

Shapes("monshape").Visible = Not Shapes("monshape").Visible

If Shapes("monshape").Visible Then

Shapes("monshape").Left = ActiveCell.Left

Shapes("monshape").Top = ActiveCell.Top + ActiveCell.Height + 3

Shapes("monshape").TextFrame.Characters.Text = ActiveCell

End If

Cancel = True

End Sub

Sub creeShape()

Shapes.AddTextbox(msoTextOrientationHorizontal, 1, 1, 180, 50).Select

Selection.Font.Name = "Verdana"

Selection.Font.Size = 13

Selection.Name = "monshape"

Shapes("monshape").Left = ActiveCell.Left

Shapes("monshape").Top = ActiveCell.Top + ActiveCell.Height + 3

End Sub

Je ne comprend pas trop le code pour la loupe. Quelle section dois-je prendre? Peux-tu m'apporter un peu de précision. Pour le fichier, le code ne fonctionne pas dans mon fichier mettre, mais je peux te donner le code de la page:

Private Sub Workbook_Open()

Application.ScreenUpdating = False

Sheets("réparation").Select

Range("a1").Select

Application.ScreenUpdating = False

Sheets("archives").Select

Range("a1").Select

Application.ScreenUpdating = False

Sheets("journal des ventes").Select

Range("a1").Select

Application.ScreenUpdating = False

Sheets("dépenses d'entreprise").Select

Range("a1").Select

Application.ScreenUpdating = False

Sheets("compi-taxes 2010").Select

Range("a1").Select

Application.ScreenUpdating = False

Sheets("compi-revenus 2010").Select

Range("a1").Select

Application.ScreenUpdating = False

Sheets("INVENTAIRE").Select

Range("a1").Select

Sheets("menu").Select

Application.Run "unprotect"

Range("J9:J17").Select

Selection.Copy

Range("H9").Select

Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _

:=False, Transpose:=False

Application.Run "protect"

Sheets("menu").Select

Range("a1").Select

Application.ScreenUpdating = True

End Sub

Merci !

Bonsoir,

Je ne vois pas le rapport entre ton pb et cette macro... mais bon. Ta macro ne s'exécute qu'à l'ouverture de ton fichier et rien qu'à ce moment là.

L'instruction -->

Application.ScreenUpdating = False

ne doit être mise qu'en début de ta macro et non à chaque changement de feuille comme tu l'as fait.

pas besoin de remettre cette instruction à TRUE en fin de macro car le fait de sortir de la macro remet automatiquement à TRUE. donc tu peux la supprimer.

La fin de ta macro pourrait être celle-ci :

...
Sheets("INVENTAIRE").Select
Range("a1").Select
With Sheets("menu")
    .Select
     .unprotect
    .Range("J9:J17").Copy
    .Range("H9").PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
.protect
End With
end sub

Vérifie que ce code est bien placé en VBA dans THISWORKBOOK.

Autre question, quel est le but de la sélection de toutes ces feuilles et de se positionner sur la cellule A1 ???

Amicalement

Dan

Salut Dan,

Je sais que ça doit être mis en début de macro, j'avais simplement fait un test pour comprendre pourquoi dans ce cas si elle ne fonctionnait pas. Elle ne fonctionne tj pas d'ailleurs...pourtant j'ai souvent utiliser la macro pour figer en ouverture de classeur.

Pour répondre à ta question, Je fais ça, pour que l'utilisateur se retoruve tj en A1 à l'ouverture !

Merci !

Bonjour à tous,

Les 3 codes de la loupe sont à mettre dans le code d'une feuille.

vinc87 a écrit :

Elle ne fonctionne tj pas d'ailleurs...pourtant j'ai souvent utiliser la macro pour figer en ouverture de classeur.

Elle ne fonctionne pas parce que tu vois la sélection de chaque feuille ?

Essaie de joindre un fichier en supprimant toutes les données mais en laissant les feuilles. Il faudrait que l'on teste pour voir.

Bonjour,

En fait je parlais de screen uppdating, pour la loupe j'ai trouvé une solution, je fais un zoom lorsque ma cellule est sélectionner !

Par contre, je comprends pas pourquoi le screen uptading marche pas...

Mystère... j'ai utilisé ce code 100 fois...

Merci !

Oui c'est bien du screen updating dont je parle

Voilà mon fichier !

Mot de passe : Hockey !

Merci

Euh...ton fichier n'est pas passé !

Il est trop gros, je ne pas trop comment faire pour te le montrer...C'est le seul fichier qui BUG

Re,

En fait c'est parce que ça fonctionne trop bien que tu crois que ça ne fonctionne pas !

Dans le code de ton thisworkbook, tu fais appel aux procédures Protect et Unprotect dans lesquelles il y a un Application.ScreeUpdating = True en fin de procédure. La valeur est donc gardée dans la suite du code du thisworkbook.

Merci, je vais en enlever un peu alors ! Toi qui a l'air vachement caller, as-tu une solution pour que mes boutons reste fixe même si je scrool vers le bas?

Merci encore

Dans un des posts j'avais écris :

Sinon pour figer également ton bouton, à part inclure les lignes où se trouve le bouton, dans la fixation des volets, je ne sais pas.

Donc je ne sais pas Peut-être en passant par vba ? Si jamais j'ai une solution, je t'en fais part.

Re,

Je viens de regarder ton fichier. Ben un peu normal ce qui se passe car tu mets des applications.screen un peu partout et cela mets un peu le "souc" là...

Par ailleurs, à l'ouverture tu as toute une série de macro qui se déclenche partout dû à tes Range("A1").select.

Bref il y a pas mal de choses à modifier dans tes codes. Le code que je t'ai proposé ne fonctionnera pas.

En premier lieu, il faut éviter à l'ouverture d'aller dans toutes tes feuilles inutilement et uniquement aller sur la feuille MENU.

Ensuite faire un autre code qui active la cellle A1 lorsque tu arrives sur une feuille du fichier.

Bon là j'ai pas le temps de suite pour te faire cela mais peut être que VBA-New va déjà t'aider un peu.

Je reviendrai voir plus tard ce soir

Amicalement

Dan

Je comprends, je vais faire un ménage la dedans ce soir...

Merci pour votre aide

Rechercher des sujets similaires à "application sreenupdating bouton"