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 :

Case à cocher - valeurs dans cellule


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Février 2014
    Messages
    28
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2014
    Messages : 28
    Par défaut Case à cocher - valeurs dans cellule
    Bonjour à tous,

    Je viens vers vous concernant une macro de formulaire :

    http://prntscr.com/2w3ivv

    Je voudrais pouvoir insérer plusieurs mot-clés (provenant de coches) dans une seule cellule de colonne key-words et si possible avec un retour-ligne-dans-cellule pour chacun.

    Le but étant que cela ressemble à ça :

    http://prntscr.com/2w4d2o

    Je n'arrive pas à envoyer mon fichier depuis le travail, voici une image de la macro pour les mot-clé, elle est la même pour tous pour l'instant.

    http://prntscr.com/2w4b8c


    Merci beaucoup par avance si vous pouvez m'aider !

  2. #2
    Expert confirmé
    Homme Profil pro
    aucune
    Inscrit en
    Septembre 2011
    Messages
    8 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Septembre 2011
    Messages : 8 208
    Par défaut
    Bonjour,

    Une solution possible (à adapter) :

    Dans un module de classe nommé "MesCases" :

    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
    Public WithEvents MesCases As MSForms.CheckBox
     
    Private Sub MesCases_Click()
        With Sheets("Feuil1")
            If MesCases = True Then
                Select Case MesCases.Name
                    Case "CheckBox1"
                        .[A1] = .[A1] & vbCrLf & "General News"
                    Case "CheckBox2"
                        .[A1] = .[A1] & vbCrLf & "Manufacturing"
                    'etc.
                End Select
            End If
        End With
    End Sub
    Dans le module de l'userform :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Dim GrChkBx() As New MesCases
    Private Sub UserForm_Activate()
    Dim c As Control, i As Integer
    For Each c In Me.Controls
        If TypeOf c Is MSForms.CheckBox Then
            ReDim Preserve GrChkBx(i)
            Set GrChkBx(i).MesCases = c
            i = i + 1
        End If
    Next
    End Sub
    Je mets un classeur exemple en PJ. Tu pourras le voir chez toi.
    Fichiers attachés Fichiers attachés

  3. #3
    Membre expérimenté
    Homme Profil pro
    Pompier de service
    Inscrit en
    Février 2014
    Messages
    146
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Pompier de service

    Informations forums :
    Inscription : Février 2014
    Messages : 146
    Par défaut
    Il est déjà dommage que tu n'aies pas regardé ce qu'il t'a été suggéré ICI, sur ton dernier message !

    Pourquoi veux-tu absolument intégrer tes valeurs à la volée, au lieu de remplir tes cellules uniquement quand l'utilisateur clique sur "enregistrer" ?

  4. #4
    Expert confirmé
    Homme Profil pro
    aucune
    Inscrit en
    Septembre 2011
    Messages
    8 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Septembre 2011
    Messages : 8 208
    Par défaut
    Bonjour Phil'oche,

    La seule différence, c'est que tu peux concaténer x fois la même chaîne de texte. Avantage douteux et danger certain.

  5. #5
    Membre averti
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Février 2014
    Messages
    28
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2014
    Messages : 28
    Par défaut
    Mais je veux pouvoir tout inscrire quand l'utilisateur clique sur "enregistrer", et non à la volée, mais mon niveau pathétique en macro m'empêche de le faire.

    J'ai du passé de 9h30 à 23h à concevoir ce formulaire + base, et j'avais un peu la paresse de me pencher sur la question. Mais c'est à modifier éventuellement, plus tard. Maintenant que j'ai ta solution, sa va aller + vite et je vais pouvoir m'y pencher.

    Merci pour vos réponses; Merci à toi Daniel.C je vais me pencher là dessus!

    Daniel, voici mon fichier, je suis depuis chez moi je peux te l'envoyer.

    Je ne comprends pas trop ton mécanisme, je suis un peu perdu

    Peux-tu m'aiguiller ?

    Merci
    Fichiers attachés Fichiers attachés

  6. #6
    Expert confirmé
    Homme Profil pro
    aucune
    Inscrit en
    Septembre 2011
    Messages
    8 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Septembre 2011
    Messages : 8 208
    Par défaut
    Non testé; tu ôtes toutes les macros des checkboxes et tu modifie la macro du bouton "Finish" comme suit ( je n'ai pas compris ce que faisaient les 4 macros du début du code) :

    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
    24
    25
    26
    27
    28
    29
    30
    31
    32
    Sub fini_Click()
    Call ajoutnamehost
    Call additioninfo
    Call hostadd
    Call rss
    Dim Ligne As Long
    With Sheets("solution")
        Ligne = .Cells(Columns(3).Cells.Count, 3).End(xlUp).Row + 1
        With .Cells(Ligne - 1, 4)
            If auto.Value = True Then .Value = "Automation" & vbCrLf
            If nano.Value = True Then .Value = "Nanotechnologies" & vbCrLf
            If robo.Value = True Then .Value = "Robotics" & vbCrLf
            If vir.Value = True Then .Value = "Virtual Reality" & vbCrLf
            If sens.Value = True Then .Value = "Sensors" & vbCrLf
            If inf.Value = True Then .Value = "Information Systems" & vbCrLf
            If compu.Value = True Then .Value = "Computer Science" & vbCrLf
            If mat.Value = True Then .Value = "Materials" & vbCrLf
            If met.Value = True Then .Value = "Metals" & vbCrLf
            If sur.Value = True Then .Value = "Surface Technologies" & vbCrLf
            If comp.Value = True Then .Value = "Composites" & vbCrLf
            If bond.Value = True Then: .Value = "Bonding" & vbCrLf
            If ass.Value = True Then .Value = "Assembly" & vbCrLf
            If nd.Value = True Then .Value = "Non Destructive Evaluation" & vbCrLf
            If mach.Value = True Then .Value = "Machining" & vbCrLf
            If add.Value = True Then .Value = "Additive Layer Manufacturing"
            If gn.Value = True Then .Value = "General News" & vbCrLf
            If man.Value = True Then .Value = "Manufacturing" & vbCrLf
            .Value = Left(.Value, Len(.Value) - 1)
        End With
    End With
    Unload Me
    End Sub

  7. #7
    Membre averti
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Février 2014
    Messages
    28
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2014
    Messages : 28
    Par défaut
    RE-bonjour Daniel,

    Cela fonctionne à la nuance que le "finish" ne me retient que le dernier mot-clé clické, et ne retient pas les précédent; les modifications ont été faites (je crois) selon tes instructions, voici le fichier.Veille_numérique_feeds - Copie.rar

    Merci encore.

Discussions similaires

  1. Copier valeur dans cellule fusionné
    Par leyeno dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 17/06/2009, 15h19
  2. [XL-2007] Macro événementielle sur changement de valeur dans cellule
    Par lagratteCchouette dans le forum Macros et VBA Excel
    Réponses: 12
    Dernier message: 12/06/2009, 15h53
  3. Mes cases à cocher apparaissent dans chaque onglet
    Par beegees dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 31/05/2009, 21h08
  4. recup valeur dans cellule GridView
    Par nashouille dans le forum ASP.NET
    Réponses: 2
    Dernier message: 15/11/2007, 16h45
  5. valeurs dans cellules protégées
    Par casefayere dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 09/03/2007, 20h18

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