Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

dernière cellule

  • Initiateur de la discussion frans
  • Date de début
F

frans

Guest
Bonjour à tous,
Voilà, je cherche à programmer une petite procédure, qui à partir d'une feuille, me donnerai le numéro de ligne de la dernière cellule d'une autre page.
Voilà comment je m'y suis pris :

Function derligne(feuille, nderligne)
'Dim nderligne As Integer
'Dim feuille As String
Sheets(feuille).Activate
Sheets(feuille).Range("A1").Select
On Error GoTo fin
nderligne = Cells.Find("*", [A1], , , 1, 2).Row
'Sheets(feuille).Deactivate
Sheets("interface").Activate
fin:
nderligne = 1
End Function

Ca marche, mais le seul problème c'est que je suis obligé d'activer la feuille cible, puis de réactiver la feuille que j'utilise comme interface.
Cela se traduit pas un clignotement de cette feuille interface.

Peut on faire autrement ? Sans devoir activer la feuille cible?
Je débute sur VBA, tous les conseils sont les bienvenus.

Merci d'avance

François
 
S

steplof

Guest
Salut au Forum,

François,

l'instruction suivante dans le private module de ta feuille1 (interface pour toi):
sheets(1).Range("a5").Value = Sheets(2).Range("a65536").End(xlUp).Row

inscrit en A5 de ta 1ère feuille sans clignotement le numéro de la dernière ligne utilisée sur la 2ème feuille de ton classeur actif.

Voir si ça peut t'aider...
@+Steplof
 
F

frans

Guest
Steplof,
Merci, ça aide !

Sur la petite application que j'essaye de développer, j'utilise une feuille comme interface et d'autres feuilles comme sources de données. Les données de ces feuilles peuvent être copiées sur d'autres, supprimées, rajoutées...
Jusqu'à présent, à part ta solution, je n'ai réussi à me débarasser de ce clignotement. (dû au fait qu'il faille activer la feuille cible avant d'y effectuer des opérations (collage, suppression...)puis réactiver ma feuille d'interface)

Je pense que je m'y prend mal. En règle générale, je programme les fonctions dans le code source de ma feuille interface. Est ce qu'en les programmant dans un module j'aurais plus de chance ?


Merci
François
 
S

steplof

Guest
Re

pour supprimer le clignotement tu peux tout simplement en début de ta function mettre l'instruction

application.screenupdating=false

et en fin

application.screenupdating=true

peut être ça t'aidera encore un peu...

Steplof
 

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…