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 :

Problème de zone de texte


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 12
    Par défaut Problème de zone de texte
    Bonjour à tous,

    Voila je bosse sur un projet pour ma boite et je suis confronté à un soucis.

    J'ai crée un userform avec une zone de texte. J'aimerais que la valeur que je note dans la zone de texte s'inscrive dans une cellule précise. En fait j'aimerais que cette valeur se mette à la dernière ligne vide de ma colonne.

    Voici le code que j'ai tapé:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Private Sub intensite_Change()
    Sheets("principal").Select
    Range("h10").Select
    While IsEmpty(ActiveCell) = False
    ActiveCell.Offset(1, 0).Activate
    Wend
    ActiveCell = intensite
    End Sub
    Le problème ainsi rencontré est :

    A chaque fois que je note une valeur, elle se met les une en dessous de l'autre au lieu de tous se mettre dans la même cellule.

    Enfin un exemple vaut mieux qu'un long discours, je vous envoie un fichier "démo" pour vous montrer mon problème.

    Cordialement
    Fichiers attachés Fichiers attachés

  2. #2
    Expert confirmé

    Avatar de Maxence HUBICHE
    Homme Profil pro
    Développeur SQLServer/Access
    Inscrit en
    Juin 2002
    Messages
    3 842
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Développeur SQLServer/Access

    Informations forums :
    Inscription : Juin 2002
    Messages : 3 842
    Par défaut
    Si cette cellule précise est la cellule H100
    Tu as plus vite fait de faire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Sheets("principal").Range("H100").formula=intensite
    Si maintenant, tu veux modifier la dernière cellule d'une colonne à longueur variable, tu peux faire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Sheets("principal").Range("h65000").End(xlUp).Formula = intensite

  3. #3
    Membre Expert
    Avatar de JackOuYA
    Inscrit en
    Juin 2008
    Messages
    1 040
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 1 040
    Par défaut
    bonjour, ted,


    il faut eviter les select, activate.... essai :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
     Dim yaC As Range
     Set yaC = Sheets("Principal").Range("H10")
     If yaC <> "" Then
        If yaC.Offset(1, 0) = "" Then
           Set yaC = yaC.Offset(1, 0) 'Si H11, vide l'on prend H11
        Else
          Set yaC = yaC.End(xlDown).Offset(1, 0) ' si H10 et H11 non vide, l'on prend la cellule en dessous de la derniére cellule non-vide sous H10
        End If
     End If
     yaC = Intensite 'Pose la valeur


    j'utilise une variable range : yaC ..
    assigné tout d'abords à l'entête de ton tableau (ici H10)

    - si l'entête et vide je ne modifie pas yaC et j'écris dans l'entête H10.
    - si la cellule H11 sous l'entête et vide, je fais pointé yaC sur cette cellule puis je lui affecte la valeur souhaité.
    - si H10 et H11 sont non vide j'affecte à yaC la premiére cellule vide trouvé sous H10 ( cela équivaud à ce positionner manuellement en H10 puis actionner les touches [fin] puis [fleche bas], {end(xlDown)} et ensuite utiliser la celllule en dessous {offset(1,0)}


    tu dis quoi ....?

    [Edit] encore croisé avec Max.. mais bon c'est pas tout çà fait la même solution, moi je passe par le haut et lui par le bas ...

  4. #4
    Membre habitué
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 12
    Par défaut
    Merci pour vos réponses rapides.
    Je vais essayer sur le champ et je vous tiens au courant du bon fonctionnement ou non de vos solutions

  5. #5
    Membre habitué
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 12
    Par défaut
    Je viens d'essayer d'appliquer vos codes mais malheureusement, aucun ne fonctionne.

    pour le code de jackouya, cela fait exactement la même chose que moi c'est à dire : il met les valeurs les unes en dessous des autres comme le code que j'avais effectué.
    pour celui de maxence, il m'inscrit la valeur dans une cellule mais pas dans celle de fin de colonne

    en attendant d'obtenir d'autres solutions ou piste, je vais essayer de bidouiller en attendant de trouver un code qui fonctionne

    cordialement

  6. #6
    Membre Expert
    Avatar de JackOuYA
    Inscrit en
    Juin 2008
    Messages
    1 040
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 1 040
    Par défaut
    Citation Envoyé par ted1057 Voir le message
    ...il met les valeurs les unes en dessous des autres comme le code que j'avais effectué...
    et tu veux faire quoi ?

  7. #7
    Inactif  

    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    4 555
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 4 555
    Par défaut
    A chaque fois que je note une valeur, elle se met les une en dessous de l'autre au lieu de tous se mettre dans la même cellule.
    Tu veux apparemment concaténer...
    Il suffit donc de rester dans ta cellule et de ne pas en choisir une autre (comme fait) et d'y concaténer son contenu avec ta nouevelle valeur (en utilisant un séparateur de ton choix pour que les choses soient "lisibles").

  8. #8
    Membre habitué
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 12
    Par défaut
    J'ai créer un fichier démo téléchargeable au début de la discussion mais je vais ré expliquer mon cas.

    J'ai un userform dans lequel j'ai une zone de texte intiulé intensité.
    dans celle ci, je veux rentrer une valeur et que cette valeur se mette à la dernière case vide d'une colonne.
    mon problème est qu'avec le code suivant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Private Sub intensite_Change()
    Sheets("principal").Select
    Range("h10").Select
    While IsEmpty(ActiveCell) = False
    ActiveCell.Offset(1, 0).Activate
    Wend
    ActiveCell = intensite
    End Sub
    à chaque saisie d'un caractère dans la zone de texte, il se met l'un en dessous de l'autre et j'aimerais que l'ensemble des caractères se mette dans une seule cellule et non dans plusieurs

    ex:

    avec le code, si je rentre 111, sur ma feuille excel, il m'inscrit cela sur 3 cellule de la façon suivante
    1
    11
    111

    et moi j'aimerais qu'il m'inscrive cela dans une seule cellule.
    Fichiers attachés Fichiers attachés

Discussions similaires

  1. [AC-2010] Problème affichage zone de texte dans formulaire
    Par oliver29900 dans le forum IHM
    Réponses: 2
    Dernier message: 27/03/2012, 20h54
  2. [AC-2003] Problème de zone de texte
    Par ortiz dans le forum IHM
    Réponses: 2
    Dernier message: 29/01/2010, 11h50
  3. Problème de zone de texte dans une GtkVBox
    Par Shugo78 dans le forum GTK+ avec C & C++
    Réponses: 2
    Dernier message: 18/09/2007, 17h21
  4. Problème de zone de texte qui s'étire.
    Par Shugo78 dans le forum GTK+ avec C & C++
    Réponses: 6
    Dernier message: 01/08/2007, 22h04
  5. Problème Effacer Zone de texte
    Par fomblardo dans le forum GTK+ avec C & C++
    Réponses: 2
    Dernier message: 12/03/2007, 17h52

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