VBA Repérer un changement de valeur dans une colonne et sélectionner les mêmes valeur

socalled

XLDnaute Nouveau
Bonjour,

je suis débutant dans VBA et je n'arrive pas à commencer ma macro. Pourriez vous m'aider à me lancer dans ma macro ?

J'ai une liste d'ID (rangés par ordre croissant) dans la colonne A et j'aimerais que lorsque la macro repère un changement d'ID dans cette colonne qu'elle copie toutes les lignes avec le même ID (par exemple les lignes avec ID 20) et qu'elle crée un nouvel onglet avec toutes les lignes correspondant à cet ID (en nommant alors l'onglet du numéro de l'ID).
J'espère être clair ^^
j'ai commencé ma macro comme ci :

Sub TRI()
Dim ID as Double
Range("A:A").Select
For each Cell in Selection
If ID =

Et je ne sais absolument pas quoi faire par la suite..
MERCI d'avance pour vos conseils

je vous joins un fichier excel
 

Robert

XLDnaute Barbatruc
Repose en paix
Re : VBA Repérer un changement de valeur dans une colonne et sélectionner les mêmes v

Bonjour Socalled et bienvenu, bonjour le forum,

Je ne pas sûr de bien comprendre... Si tu veux repérer un changement il me semble qu'il faudrait utiliser la macro événementielle Change. Mais, doit-elle agir à chaque nouvelle édition ou bien au changement de valeur d'une cellule déjà éditée ?
Quoi qu'il en soit un exemple serait le bienvenu (lui aussi) montrant ce que tu as avant et ce que tu voudrais après. En expliquant après quoi...
 

socalled

XLDnaute Nouveau
Re : VBA Repérer un changement de valeur dans une colonne et sélectionner les mêmes v

Bonjour à vous deux,
merci de répondre. je me rends compte que je n'ai pas assez développer ce que je vais faire de suite. J'essaie depuis quelques heures de réduire, compresser mon fichier excel pour qu'il réponde aux contraintes de postage sur le forum sans succès :(

En fait j'ai une feuille contenant plusieurs colonnes, comme suit :
ID du portefeuille- NOM du titre - QTT - VALEUR

l'ID reste le même sur plusieurs lignes (je vous mets une copie écran).

J'aimerais en fait pouvoir faire en sorte que lorsque l'ID change (exemple qu'il passe de l'ID 20 à 21 ou de 21 à 38) donc changement d'une cellule déjà éditée, alors les lignes avant ce changement (toutes les lignes ayant pour ID 20) soient sélectionnées, et copiées dans un nouvel onglet. Et ainsi de suite pour l'ID 21, 38, etc etc

pour au final avoir ce que l'on voit dans l'image 2.

Suis je plus clair ? :/
merci encore par avance pour vos conseils
 

Pièces jointes

  • Image 1.jpg
    Image 1.jpg
    48.1 KB · Affichages: 191
  • Image 2.jpg
    Image 2.jpg
    26.1 KB · Affichages: 135
  • Image 1.jpg
    Image 1.jpg
    48.1 KB · Affichages: 205
  • Image 2.jpg
    Image 2.jpg
    26.1 KB · Affichages: 151
  • Image 1.jpg
    Image 1.jpg
    48.1 KB · Affichages: 188
  • Image 2.jpg
    Image 2.jpg
    26.1 KB · Affichages: 132

tototiti2008

XLDnaute Barbatruc
Re : VBA Repérer un changement de valeur dans une colonne et sélectionner les mêmes v

Bonjour socalled, Bonjour Robert, Bonjour Paritec :)

si j'ai bien compris, un découpage de ta liste en feuilles différentes à chaque changement de la valeur de la colonne A ?

peut-être

Code:
Sub Decoup()
Dim i As Long, ID As Long, j As Long, Nom As String
    ID = -1
    j = 2
    Nom = ActiveSheet.Name
    With Sheets(Nom)
    For i = 2 To .Range("A65536").End(xlUp).Row + 1
        If .Cells(i, 1).Value <> ID Then
            ID = .Cells(i, 1).Value
            If i > 2 Then
                Sheets.Add
                ActiveSheet.Name = .Cells(i - 1, 1).Value
                .Range("A" & j & ":E" & i - 1).Copy ActiveSheet.Range("A1")
                j = i
            End If
        End If
    Next i
    End With
End Sub
 

Paritec

XLDnaute Barbatruc
Re : VBA Repérer un changement de valeur dans une colonne et sélectionner les mêmes v

Re socalled Robert:) le forum
Bon alors moi j'ai besoin de savoir si Robert:) a compris ce que tu veux car moi franchement !!!! ????
Quand il y a un changement d'ID ? Ou ? pourquoi? comment? avec qui?
Ta question c'est quoi? tu veux copier des éléments dans une autre feuille c'est tout?
bonne soirée
a+
Papou:)

EDIT: Salut Tototiti:) oui tu as peut-être compris, mais pas évident surtout avec les miniatures
Je rajouterai même que je pense que tu as tout compris en regardant à nouveau les miniatures
Bravo.
 
Dernière édition:

socalled

XLDnaute Nouveau
Re : VBA Repérer un changement de valeur dans une colonne et sélectionner les mêmes v

Bonjour à vous tous,

je viens d'essayer ta macro tototiti2008 et c'est exactement ce que je cherchais à faire :) je te remercie beaucoup. Je vais maintenant tenter de comprendre pas à pas ta macro. Mais c'est tout bon !!!! Encore merci.
Et désolé de ne pas avoir été très précis ou peu compréhensible :/
Pour répondre à ta question Paritec, je voulais que lorsque la valeur quand la colonne ID change alors copier les éléments des lignes avant ce changement dans un nouvel onglet au nom de la valeur de la colonne ID.

Un grand merci encore :)
 

jibs

XLDnaute Nouveau
Re : VBA Repérer un changement de valeur dans une colonne et sélectionner les mêmes v

Bonjour,

je relance cette conversation car je cherche à faire quelque chose de similaire.
A la différence près que lorsque je détecte un changement, je dois insérer une ligne avec le sous-total correspondant, que j'ai déjà calculé auparavant. Les sous-totaux se situent en dessous de ma base de données.
Si quelqu'un peut m'apporter son aide je le remercie d'avance...
 

Pierrot93

XLDnaute Barbatruc
Re : VBA Repérer un changement de valeur dans une colonne et sélectionner les mêmes v

Bonjour,

Bonjour,

je relance cette conversation car je cherche à faire quelque chose de similaire.
A la différence près que lorsque je détecte un changement, je dois insérer une ligne avec le sous-total correspondant, que j'ai déjà calculé auparavant. Les sous-totaux se situent en dessous de ma base de données.
Si quelqu'un peut m'apporter son aide je le remercie d'avance...

le mieux est de rester sur le même fil :
https://www.excel-downloads.com/threads/insertion-dune-ligne-somme-dans-une-base-de-donnee.210065/

bon après midi
@+
 

Discussions similaires

Réponses
22
Affichages
690

Statistiques des forums

Discussions
311 733
Messages
2 082 015
Membres
101 870
dernier inscrit
Dethomas