Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Renseigner des cellules automatiquement

4 réponses
Avatar
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

4 réponses

Avatar
JB
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" wrote:
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


Avatar
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




Avatar
Britannicus
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" a écrit dans le message de news:

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




Avatar
LSteph
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 à