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 :

MAJ de plusieurs cellules


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Août 2006
    Messages
    28
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 28
    Par défaut MAJ de plusieurs cellules
    Bonjour,

    J'ai créé un UserForm avec une ListBox contenant 2 colonnes sans doublons et des contrôles textbox à côté.

    Quand je clique sur un des numéros de ma listbox, les informations s'affichent dans mes TextBox.
    Les informations des premières cellules sont identiques pour le même numéro.
    J'ai rajouté ce code dans mes TextBox pour que quand la valeur change, elle se change aussi dans le fichier excel.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
        With ListBox1
        [A:G].Find(.List(.ListIndex, 0), LookIn:=xlValues).Select
        ActiveCell.Offset(0, 2).Value = Me.Usine_Emettrice
        End With
    Par contre, il change que la première ligne et pas les suivantes qui sont identiques.
    Je pense qu'il faut utiliser une fonction Loop mais comment l'utiliser dans ce cas ?

    Merci d'avance

  2. #2
    Expert éminent


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Par défaut
    ben un coup de (c'est la touche en haut à gauche du clavier) sur find puis voir aussi.. et l'aide en ligne excel te donne la réponse...:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    Dim c As Range
    Dim firstAddress As String
    With ListBox1
       Set c = [A:G].Find(.List(.ListIndex, 0), LookIn:=xlValues)
       If Not c Is Nothing Then
           firstAddress = c.Address
          Do
             c.Offset(0, 2).Value = Me.Usine_Emettrice
             Set c = [A:G].FindNext(c)
          Loop While Not c Is Nothing And c.Address <> firstAddress
       End If
     End With

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Août 2006
    Messages
    28
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 28
    Par défaut
    Merci j'vais regardé l'aide en appuyant sur F1 mais il me semblait que c'était que pour une valeur.
    Problème résolu.

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Août 2006
    Messages
    28
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 28
    Par défaut
    Bonjour,

    Désolé mais en fait c'est pas résolu.
    Il fait bien la mise à jour de mes cellules mais sans tenir compte de ma deuxième valeur de ma ListBox.

    Merci d'avance

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Août 2006
    Messages
    28
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 28
    Par défaut find avec plusieurs cellules
    Bonjour,

    Est'il possible de faire un find avec plusieurs valeurs ?
    Je voudrais faire une recherche des données contenues dans ma cellule A et G.
    Aujourd'hui j'ai ce code là :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    With ListBox1
            [A:G].Find(.List(.ListIndex, 0), LookIn:=xlValues).Select
            Me.DateSAP = ActiveCell.Offset(0, 1).Value
            Me.DatRecpetion = ActiveCell.Offset(0, 7).Value
            Me.Usine_Emettrice = ActiveCell.Offset(0, 2).Value
            If ActiveCell.Offset(0, 8).Value = "Oui" Then
                Rep_MAP.Value = True
            Else
                Rep_MAP.Value = False
            End If
            Me.TextBox3 = ActiveCell.Offset(0, 3).Value
            Me.TextBox4 = ActiveCell.Offset(0, 4).Value
            Me.TextBox5 = ActiveCell.Offset(0, 5).Value
        End With
    Ce code est contenue dans une ListBox. Mais ma listBox contient 2 valeurs Cellules A et G.

    Est'il possible de le faire ?

    Merci d'avance

  6. #6
    Expert éminent


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Par défaut
    et c'est quoi la différence avec ;
    MAJ de plusieurs cellules

  7. #7
    Membre averti
    Profil pro
    Inscrit en
    Août 2006
    Messages
    28
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 28
    Par défaut
    La différence c'est qu'il ne me prend pas en compte la deuxième valeur de ma ListBox.
    La MAJ de plusieurs cellules fonctionne parfaitement sur la première valeur de ma ListBox.

  8. #8
    Expert éminent


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Par défaut
    va falloir que tu fasse un dessin je comprends rien...

  9. #9
    Membre averti
    Profil pro
    Inscrit en
    Août 2006
    Messages
    28
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 28
    Par défaut
    Voilà je résume tout.
    J'ai un UserForm qui contient une ListBox et plusieurs TextBox
    Ma ListBox affiche les valeurs de mes colonnes A et G en retirant les doublons.
    Mes ListBox doivent afficher les infos des cellules adjacentes en tenant comptes de eux données.

    En fait mon soucis et que quand je sélectionne une valeur dans ma ListBox, il affiche les infos mais sans tenir compte de ma deuxième valeur.

    Je te mets le fichier en pièce jointe. Fait un test avec le numéro 300089120 - 1 et 300089120 - 2 dans l'onglet affichage et modification.
    Regarde la date de réception, elle ne change pas alors que dans le fichier Excel elles sont différentes.

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

Discussions similaires

  1. Réponses: 15
    Dernier message: 21/03/2006, 14h10
  2. Validation de données Excel sur plusieurs cellules
    Par Civodul4 dans le forum Excel
    Réponses: 3
    Dernier message: 06/03/2006, 11h56
  3. [VBA-E]selectionner plusieurs cellules sur Excel
    Par delamarque dans le forum Macros et VBA Excel
    Réponses: 14
    Dernier message: 09/02/2006, 14h57
  4. saisir plusieurs cellules dans un spreadsheet
    Par delamarque dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 24/01/2006, 17h56
  5. Sélectionner plusieurs cellules d'un DBGrid
    Par chill667 dans le forum Composants VCL
    Réponses: 3
    Dernier message: 23/11/2005, 11h43

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