IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

Taille de cellule


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Février 2011
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2011
    Messages : 4
    Par défaut Taille de cellule
    Bonjour, je débute en language vb mais je me suis lancé dedans afin de réaliser une base de donnée pour mon boulot.

    Dans cette base de donnée j'uilise des userform qui prennent toutes la taille de l'ecran comme ça sur les feuilles excel qui se trouve derriere je fait ma petite popote tranquille.

    Mais la j'ai un petit soucis. Je dois arriver a faire une recherche sur une colonne. Cette colonne contient le nom des différents produits gérer dans cette base de donnée.

    j'ai fait un userform qui prends la largeur de l'ecran mais une hauteur fixe afin de faire apparaitre la feuille "listing". Dans cette feuille se trouve les noms des produits + 2, 3 critéres avec des filtres automatiques. Le zoom change en fonction des critéres que l'on choisis dans mon userform.

    => le seul hic est que j'aimerais bien définir la hauteur OU la position des 3 premiéres ligne (ou je fait ma popote) afin que l'utilisateur ne les vois jamais. Sur la 4éme ligne se trouve les "intitulés" de mes colones (nom, n°...) j'aimerais positionner cette ligne constament en dessous de mon userform.
    A savoir que les barres d'outils et tout les menus et autres sont masqué a l'ouverture de mon classeur, donc ma cellule a1 se trouve en haut a gauche de l'ecran.

    Voila si quelqu'un pouvais me donnée la solution, ça serais chouette merci d'avance.

    PS: ha oui ma version d'excel / VBA et en anglais et je galere terriblement pour comprendre le menu "help" donc ne m'envoyez pas dans cette direction si possible.

  2. #2
    Expert confirmé
    Homme Profil pro
    Inscrit en
    Août 2010
    Messages
    3 453
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Août 2010
    Messages : 3 453
    Par défaut
    Bonjour,

    Pour masquer des lignes. Ici pour l'exemple, ligne de 1 à 3 :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    [1:3].EntireRow.Hidden = True
    Hervé.

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Février 2011
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2011
    Messages : 4
    Par défaut
    Bonjour, je ne veut pas les cacher, je veut juste quelle se trouve en permanence derriere mon userform.
    Comme ça ma ligne 4 serais constament en dessous de mon userform.
    Et que tout cela reste comme ça malgré la résoltion ou le changemnt de zoom sur la feuille "listing".

    Mais merci de ta réponse

  4. #4
    Expert éminent Avatar de mercatog
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    9 435
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations forums :
    Inscription : Juillet 2008
    Messages : 9 435
    Par défaut
    Une piste (n'oublie pas d'ajouter un bouton pour fermer l'usf)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
    Private Declare Function GetWindowLong Lib "user32" Alias "GetWindowLongA" (ByVal hWnd As Long, ByVal nIndex As Long) As Long
    Private Declare Function SetWindowLong Lib "user32" Alias "SetWindowLongA" (ByVal hWnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long
    Private Declare Function DrawMenuBar Lib "user32" (ByVal hWnd As Long) As Long
     
    Private Sub UserForm_Initialize()
    Dim hWnd As Long, Style As Long
     
    hWnd = FindWindow(vbNullString, Me.Caption)
    Style = GetWindowLong(hWnd, -16) And Not &HC00000
    SetWindowLong hWnd, -16, Style
    DrawMenuBar hWnd
    With Me
        .StartUpPosition = 3
        .Height = 10 + (25 + Range("A1:A3").Height * ActiveWindow.Zoom / 100)
        .Width = Application.Width
    End With
    End Sub
     
    '####   N'Oublie pas le bnouton pour fermer l'usf
    Private Sub CommandButton1_Click()
    Unload Me
    End Sub

  5. #5
    Futur Membre du Club
    Profil pro
    Inscrit en
    Février 2011
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2011
    Messages : 4
    Par défaut
    Recoucou

    Je viens de tester ce code mais rien ne se passe pour les cellules.

    J'avoue en même temps que je ne comprends presque rien à ce code.

    Mon userform etant deja régler pour étre de la largeur d'écran automatiquement, mais d'une hauteur de 150.

    Dans ce code je n'ai pas l'impression que les ligne 1,2 et 3 soit modifiée.

    Je précise que mon userform est deja définis, mais que les cellules elles varient en fonction de la résolution de chaque utilisateur, et en fonction du zoom utiliser dans excel. Ce zoom varient en fonction de critéres qui apparaissent grace au bouton sur mon userform.

    Je posterais le code de cette partie lundi pour etre + claire car ce n'est pas évident d'éxpliquer tout cela.

    Ou alors devrais je peut etre morienter vers un userform en plein ecran.
    Avec une listbox qui serais mis à jour à chaque frappe dans une textbox.
    Ce textbox modifirais le filtre automatique sur la list de noms dans ma feuille, puis modifirais la listbox pour qu'elle n'affiche que les cellules restantes sur la feuille. (car j'ai tester ça mais je n'arrivent pas à intervenir sur les autofiltres avec un textbox, et je n'arive pas à dire à la listbox de ne pas afficher les cellule masqué par les filtres.)

    Enfin merci quand même pour vos réponse

  6. #6
    Expert éminent Avatar de mercatog
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    9 435
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations forums :
    Inscription : Juillet 2008
    Messages : 9 435
    Par défaut
    Le code proposé permet de:
    - Placer l'userform en haut de l'écran avec la largeur de l'application et la hauteur égale à la hauteur des 3 premières lignes de ta feuille plus un petit chouia (barre d'excel et entêtes de colonnes)
    - Enlever la barre de l'userform pour ne pas permettre son déplacement à l'aide de la souris

    Si tu donne à ton userform une hauteur fixe, comment penses tu gérer le problème de zoom?

    Si on change d'épaule, j'ai l'impression d'essayer de faire une usine à gaz pour une tâche qu'ont pourrait concevoir autrement.

    J'essayais de répondre à ta question (cacher les 3 premières lignes à l'aide d'un userform) sans me soucier du pourquoi des choses

Discussions similaires

  1. [POI] Style et taille de cellule pour Excel
    Par relivio dans le forum Documents
    Réponses: 6
    Dernier message: 28/05/2014, 10h45
  2. Liststore , taille des cellules
    Par jean dans le forum GTK+ avec C & C++
    Réponses: 7
    Dernier message: 04/12/2006, 19h35
  3. JTable taille des cellules
    Par agougeon dans le forum Composants
    Réponses: 1
    Dernier message: 04/10/2006, 09h37
  4. Taille de cellule dynamique
    Par Ricardo_Tubbs dans le forum Balisage (X)HTML et validation W3C
    Réponses: 3
    Dernier message: 21/09/2006, 12h09
  5. tailles de cellules dans un tableau
    Par Hayabusa dans le forum Balisage (X)HTML et validation W3C
    Réponses: 4
    Dernier message: 05/09/2006, 21h12

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo