Bonsoir
je range mes valeurs par ordre croissant et je retrouve des valeurs qui sont doubles j´aimerai mettre dans le collone B le mot double pour ceux qui sont doublerou plus .Par exemple sie j´ai
colonne :A B
23
23 double
23 double
Merci
Bonsoir
je range mes valeurs par ordre croissant et je retrouve des valeurs qui sont doubles j´aimerai mettre dans le collone B le mot double pour ceux qui sont doublerou plus .Par exemple sie j´ai
colonne :A B
23
23 double
23 double
Merci
Qu'entends-tu par double ? Que la même donnée se trouve sur des lignes successives ?
A+
Oui c´est juste nom pour dire que ce nombre existe deja dans la colonneEnvoyé par ouskel'n'or
Alors teste çaA+
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 Sub EcrireDouble() Dim Plage As Range Dim Cel As Range Set Plage = Worksheets("Feuil1").Range("A2:A" & Range("A65535").End(xlUp).Row) For Each Cel In Plage If cel.offset(-1, 0) = cel Then cel.offset(0, 1).Value = "Double" End If Next end sub
Change le nom de la feuille si nécessaire![]()
Merci la solution marche parfaitement .Envoyé par ouskel'n'or
Comment pourai je inserer une ligne pour chaque valeurs double en faisant la somme de ces elements doubles et les suprimer apres ?
Deux choses :
1 - tu ne connais la dernière ligne qu'une fois la ligne dépassée
2 - la ligne insérée l'est au dessus de la ligne désignée
Tu dois donc insérer la ligne puis écrire la somme sur la ligne -1
Cette somme doit tenir compte de la première ligne de la série. J'ai mis une remarque dans le code.
A+
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 Sub EcrireDouble() Dim Plage As Range Dim Cel As Range Dim ok As Boolean, i As Integer Set Plage = Worksheets("Feuil1").Range("A2:A" & Range("A65535").End(xlUp).Row) For Each Cel In Plage If Cel.Offset(-1, 0) = Cel Then Cel.Offset(0, 1).Value = "Double" ok = True Total = Total + Cel.Value Else If ok Then 'on a sauté la première ligne de la série, on l'ajoute ici Total = Total + Cel.Offset(-1, 0).Value Cel.EntireRow.Insert Shift:=xlDown ok = False Cel.Offset(-1, 0).Value = Total Total = 0 End If End If Next End Sub
Bonsoir
je connais les valeurs doubles de ma collone , j´aimerai compter le nombre de fois qu´une valeur est double dans une colonne et inserer und nouvelle ligne en mettant cette valeur et le nombre de fois quelle est doublée .
j´ai eu ce code ,
mais ce n´est pas la somme des valeurs de mes cellules doubles que je veux ,mais plutot la somme du nombre fois qu´une valeur est presente
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 Sub EcrireDouble1() Dim Plage As Range Dim Cel As Range Dim ok As Boolean, i As Integer Set Plage = Worksheets("sap1").Range("A2:A" & Range("A65535").End(xlUp).Row) For Each Cel In Plage If Cel.Offset(-1, 0) = Cel Then Cel.Offset(0, 1).Value = "Double" ok = True Total = Total + Cel.Value Else If ok Then 'on a sauté la première ligne de la série, on l'ajoute ici Total = Total + Cel.Offset(-1, 0).Value Cel.EntireRow.Insert Shift:=xlDown ok = False Cel.Offset(-1, 0).Value = Total Total = 0 End If End If Next End Sub
C'est la suite de cette discussion ? Si oui, alors reste sur la même discussion. On a déjà le code pour insérer une ligne quand double.
Les seules différences sont que tu veux insérer une colonne, et mettre le nombre de fois que les données sont identiques au lieu de la somme des valeurs, ainsi que la valeur.
Je fusionne les discussions.
Tu ne dis pas dans quelle colonne tu mets l'un et l'autre.Envoyé par Tu
![]()
Oui, c´est bien cela .
Mais je mettre plutot une nouvelle ligne , et a droite de la ou j´ai la mention "double " je mettrai la somme des nombres de fois .
C'est simple, tu n'as pas compris mon code ? Remplace ces lignes
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 If Cel.Offset(-1, 0) = Cel Then 'inchangé Total = Total + 1 Else If ok Then 'on a sauté la première ligne de la série, on l'ajoute ici Total = Total + 1 Cel.EntireRow.Insert Shift:=xlDown ok = False Cel.Offset(-1, 2).Value = Total Total = 0 End If End If
Bonsoir le code ci dessu marche bien , j´ai besoin deffacer les lignes des valeurs doubles apres comptage des valeurs doubles
Partager