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 :

Saisies Userform [XL-2007]


Sujet :

Macros et VBA Excel

  1. #1
    Candidat au Club
    Homme Profil pro
    plombier
    Inscrit en
    Mars 2015
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Aveyron (Midi Pyrénées)

    Informations professionnelles :
    Activité : plombier
    Secteur : Bâtiment Travaux Publics

    Informations forums :
    Inscription : Mars 2015
    Messages : 5
    Points : 4
    Points
    4
    Par défaut Saisies Userform
    Bonjour,

    Questions qui me bloquent : si j'ajoute une colonne avant la 1er(A)et si j'ajoute des colonnes en plus (jaune), les critères demandés de mon userform ne fonctionnent plus !
    Comment modifier la plage et modifier la sélection des cellules ?

    Merci pour votre aide.
    Fichiers attachés Fichiers attachés

  2. #2
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    12 755
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 12 755
    Points : 28 606
    Points
    28 606
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    Difficile de t'aider si tu n'affiches pas le code que tu utilises pour définir la plage de données à l'ouverture du formulaire.
    Philippe Tulliez
    Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau)
    Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter
    Mes tutoriels : Utilisation de l'assistant « Insertion de fonction », Les filtres avancés ou élaborés dans Excel
    Mon dernier billet : Utilisation de la fonction Dir en VBA pour vérifier l'existence d'un fichier

  3. #3
    Candidat au Club
    Homme Profil pro
    plombier
    Inscrit en
    Mars 2015
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Aveyron (Midi Pyrénées)

    Informations professionnelles :
    Activité : plombier
    Secteur : Bâtiment Travaux Publics

    Informations forums :
    Inscription : Mars 2015
    Messages : 5
    Points : 4
    Points
    4
    Par défaut
    Bonjour Philippe,

    Je ne peux pas vous répondre, je débute sur vba; en lisant des tutoriels, des réponses à des questions sur des forums,
    j'essai d'adapter les formules à ma problématique.
    Je bloque moi aussi pour comprendre comment augmenter la plage ?

    Merci pour votre aide.

  4. #4
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    Une solution possible dans le fichier joint.

    J'ai mis un titre à la colonne des dates et j'ai modifié le CommandButton1 de la façon suivante (et accessoirement j'ai déplacé votre texte qui était sous la colonne des dates) :

    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
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    Private Sub CommandButton1_Click()
     
    Dim Plage As Range
    Dim Cel As Range
     
    Dim PlageTitre As Range
    Dim CelluleTitre As Range
     
    Dim DerniereColonne As Long
    Dim ColDate As Long
    Dim ColAgent As Long
     
     
        With Worksheets("Feuil1")
             DerniereColonne = .Cells(1, .Columns.Count).End(xlToLeft).Column
             Set PlageTitre = .Range(.Cells(1, 1), .Cells(1, DerniereColonne))
     
     
            ' Recherche des colonnes
            '-----------------------
            ColDate = 0
            ColAgent = 0
            For Each CelluleTitre In PlageTitre
                If CelluleTitre = "Dates" Then ColDate = CelluleTitre.Column
                If ComboBox2.Text = CelluleTitre Then ColAgent = CelluleTitre.Column
            Next CelluleTitre
     
     
            ' Mise à jour du tableau
            '-----------------------
            If ColDate > 0 And ColAgent > 0 Then
               Set Plage = .Range(.Cells(3, ColDate), .Cells(.Rows.Count, ColDate).End(xlUp))
               For Each Cel In Plage
                    If CDate(Cel.Value) = CDate(ComboBox3.Text) Then
                        Cel.Offset(0, ColAgent - ColDate) = ComboBox1.Text
                        Cel.Offset(0, ColAgent - ColDate + 1) = TextBox1.Text
                        Exit For
                    End If
                Next Cel
               Set Plage = Nothing
            End If
            Set PlageTitre = Nothing
     
        End With
     
     
    End Sub

    Cordialement.

  5. #5
    Candidat au Club
    Homme Profil pro
    plombier
    Inscrit en
    Mars 2015
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Aveyron (Midi Pyrénées)

    Informations professionnelles :
    Activité : plombier
    Secteur : Bâtiment Travaux Publics

    Informations forums :
    Inscription : Mars 2015
    Messages : 5
    Points : 4
    Points
    4
    Par défaut
    Bonjour Eric,

    Ta solution est parfaite.
    Il me reste à essayer de bien comprendre ta procédure.

    Merci pour ton aide.

  6. #6
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par pidres Voir le message
    Il me reste à essayer de bien comprendre ta procédure.
    Attention aux homonymies dans les titres.

    Voir également ma contribution : Repérer des colonnes dans un onglet.

    Cordialement.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Message d'erreur si erreur saisie USERFORM
    Par nduverger dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 25/09/2014, 07h45
  2. copier saisies userform
    Par jeje1664 dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 13/10/2008, 17h27
  3. effectuer un calcul directement apres la saisie qur userform
    Par rimked dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 26/01/2008, 23h50
  4. Réponses: 10
    Dernier message: 03/11/2007, 19h06
  5. modification saisie userform
    Par stephlinternaute dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 25/07/2007, 19h06

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