Renseigner des cellules automatiquement

Le
Britannicus
Bonsoir,

Dans une colonne de ma feuil1, j'ai des valeurs :
05701
10701
XD1
05701
05704
XD1
PAA01
..etc
Tous les jours, d'autres valeurs viennent s'y ajouter, elles existent peut
être déjà ou sont nouvelles.

Dans un tableau de ma feuil2, je voudrais pouvoir récupérer une seule fois
chaque valeur et que chaque nouvelle vienne s'inscrire automatiquement à la
suite. Ce qui donnerait pour cet exemple :
05701
10701
XD1
05704
PAA01

Comment faire SVP ?

Britannicus
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
JB
Le #4254231
Bonsoir,

Extrait sans doublons dans Feuil2 dès la saisie dans Feuil1:

Private Sub Worksheet_Change(ByVal Target As Range)
Sheets("Feuil1").Range("A1:A1000").AdvancedFilter
Action:=xlFilterCopy, _
CopyToRange:=Sheets("feuil2").Range("A1"), Unique:=True
End Sub

http://cjoint.com/?dwxx2IpQF0

JB


On 22 mar, 23:00, "Britannicus"
Bonsoir,

Dans une colonne de ma feuil1, j'ai des valeurs :
05701
10701
XD1
05701
05704
XD1
PAA01
.....etc
Tous les jours, d'autres valeurs viennent s'y ajouter, elles existent peut
être déjà ou sont nouvelles.

Dans un tableau de ma feuil2, je voudrais pouvoir récupérer une seule fois
chaque valeur et que chaque nouvelle vienne s'inscrire automatiquement à la
suite. Ce qui donnerait pour cet exemple :
05701
10701
XD1
05704
PAA01

Comment faire SVP ?

Britannicus


LSteph
Le #4254221
Bonsoir,

Private Sub Worksheet_Change(ByVal Target As Range)
Dim isect As Range, i As Long
Set isect = Intersect(Target, Range("a:a"))
If Not isect Is Nothing Then
For i = Feuil2.[a65536].End(xlUp).Row To 1 Step -1
If Feuil2.Cells(i, 1) = isect.Cells(1) Then Exit Sub
Next
Feuil2.[a65536].End(xlUp)(2) = isect.Cells(1)
End If
End Sub

'Cdlt

'lSteph

Bonsoir,

Dans une colonne de ma feuil1, j'ai des valeurs :
05701
10701
XD1
05701
05704
XD1
PAA01
.....etc
Tous les jours, d'autres valeurs viennent s'y ajouter, elles existent peut
être déjà ou sont nouvelles.

Dans un tableau de ma feuil2, je voudrais pouvoir récupérer une seule fois
chaque valeur et que chaque nouvelle vienne s'inscrire automatiquement à la
suite. Ce qui donnerait pour cet exemple :
05701
10701
XD1
05704
PAA01

Comment faire SVP ?

Britannicus




Britannicus
Le #4254211
Merci à vous 2. Mais excusez mon ignorance, comment dois je les intégrer à
mon classeur ? J'ai fait un copier/coller directement dans vba, en adaptant,
mais ce n'est visiblement pas la bonne méthode.

Britannicus

"LSteph"
Bonsoir,

Private Sub Worksheet_Change(ByVal Target As Range)
Dim isect As Range, i As Long
Set isect = Intersect(Target, Range("a:a"))
If Not isect Is Nothing Then
For i = Feuil2.[a65536].End(xlUp).Row To 1 Step -1
If Feuil2.Cells(i, 1) = isect.Cells(1) Then Exit Sub
Next
Feuil2.[a65536].End(xlUp)(2) = isect.Cells(1)
End If
End Sub

'Cdlt

'lSteph

Bonsoir,

Dans une colonne de ma feuil1, j'ai des valeurs :
05701
10701
XD1
05701
05704
XD1
PAA01
.....etc
Tous les jours, d'autres valeurs viennent s'y ajouter, elles existent
peut être déjà ou sont nouvelles.

Dans un tableau de ma feuil2, je voudrais pouvoir récupérer une seule
fois chaque valeur et que chaque nouvelle vienne s'inscrire
automatiquement à la suite. Ce qui donnerait pour cet exemple :
05701
10701
XD1
05704
PAA01

Comment faire SVP ?

Britannicus




LSteph
Le #4254201
clic droit sur l'onglet de ta feuille Feuil1 pour afficher son module de
code et tu colle
@+
lSteph

Private Sub Worksheet_Change(ByVal Target As Range)
Dim isect As Range, i As Long
Set isect = Intersect(Target, Range("a:a"))
If Not isect Is Nothing Then
For i = Feuil2.[a65536].End(xlUp).Row To 1 Step -1
If Feuil2.Cells(i, 1) = isect.Cells(1) Then Exit Sub
Next
Feuil2.[a65536].End(xlUp)(2) = isect.Cells(1)
End If
End Sub





Merci à vous 2. Mais excusez mon ignorance, comment dois je les intégrer à



Publicité
Poster une réponse
Anonyme