Une boucle en VBA ?

Le
alain Lebayle
Bonsoir,
J'ai un tableau avec des valeurs de A2 à A, je souhaite avoir de B2 à
B des chiffres de 1 à suivant ce qu'il y a dans la colonne A2 à A
en non vide

Je vous remercie beaucoup
Alain
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses Page 1 / 2
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
LSteph
Le #17528971
Bonsoir,

(Sans vba tu tries sur A ton tableau et tu incrémente B)

En vba

Sub azb()
dim c as range , i as long
application.screenupdatingúlse
For each c in Range("b2:b"&[a65536].end(xlup).row)
if c.offset(0,-1)<>"" then
i=i+1
c=i
end if
next
end sub

'lSteph

alain Lebayle a écrit :
Bonsoir,
J'ai un tableau avec des valeurs de A2 à A..., je souhaite avoir de B2 à
B... des chiffres de 1 à ... suivant ce qu'il y a dans la colonne A2 à A...
en non vide

Je vous remercie beaucoup
Alain




JPMonnier
Le #17528961
Bonsoir,
Sub Chiff()
x = 1
For Each n In [a2:a20]
If n <> "" Then
n.Offset(0, 1) = x
x = x + 1
End If
Next
End sub
--
Cordialement

"alain Lebayle" news:48f4db38$0$7932$
Bonsoir,
J'ai un tableau avec des valeurs de A2 à A..., je souhaite avoir de B2 à
B... des chiffres de 1 à ... suivant ce qu'il y a dans la colonne A2 à
A... en non vide

Je vous remercie beaucoup
Alain




Philippe.R
Le #17528951
Bonsoir,
Outre la réponse de mon "petit" camarade, tu peux aussi jouer avec, en B2,
quelque chose du genre :
=ligne()*(a2<>"")
puis double clic sur la poignée de recopie
--
Avec plaisir
http://dj.joss.free.fr/trombine.htm
http://jacxl.free.fr/mpfe/trombino.html
Philippe.R
Pour se connecter au forum :
http://www.excelabo.net/mpfe/connexion.php
News://news.microsoft.com/microsoft.public.fr.excel
"alain Lebayle" news:48f4db38$0$7932$
Bonsoir,
J'ai un tableau avec des valeurs de A2 à A..., je souhaite avoir de B2 à
B... des chiffres de 1 à ... suivant ce qu'il y a dans la colonne A2 à
A... en non vide

Je vous remercie beaucoup
Alain




LSteph
Le #17529161
Bonsoir Philippe,

Voilà une formule qui épaterait même notre "grand" camarade Mgr.Abile

;-)

--
lSteph

Philippe.R a écrit :
Bonsoir,
Outre la réponse de mon "petit" camarade, tu peux aussi jouer avec, en
B2, quelque chose du genre :
=ligne()*(a2<>"")
puis double clic sur la poignée de recopie


Philippe.R
Le #17529471
<{;o)=))

"LSteph" news:
Bonsoir Philippe,

Voilà une formule qui épaterait même notre "grand" camarade Mgr.Abile

;-)

--
lSteph

Philippe.R a écrit :
Bonsoir,
Outre la réponse de mon "petit" camarade, tu peux aussi jouer avec, en
B2, quelque chose du genre :
=ligne()*(a2<>"")
puis double clic sur la poignée de recopie




michdenis
Le #17529891
En VBA sans boucle ...

Sub test()
Dim Rg As Range, V
With Range("A1:A" & Range("A65536").End(xlUp).Row)
Set Rg = .SpecialCells(xlCellTypeConstants, 23).Cells
Rg.Offset(, 1).Formula = "=CountA($A$1:A" & Rg.Row & " )"
V = .Value
.Value = V
End With
End Sub




"alain Lebayle" news: 48f4db38$0$7932$
Bonsoir,
J'ai un tableau avec des valeurs de A2 à A..., je souhaite avoir de B2 à
B... des chiffres de 1 à ... suivant ce qu'il y a dans la colonne A2 à A...
en non vide

Je vous remercie beaucoup
Alain
michdenis
Le #17529881
| puis double clic sur la poignée de recopie

Comme il y a des cellules vides en colonne A,
ça prendrait plus qu'un double-clic ...

Deuxièmement, il faudrait transformer ces formules en constantes !
michdenis
Le #17529871
Pour débuter en A2 et B2, il faut modifier comme ceci :

Sub test()
Dim Rg As Range, V
With Range("A2:A" & Range("A65536").End(xlUp).Row)
Set Rg = .SpecialCells(xlCellTypeConstants, 23).Cells
Rg.Offset(, 1).Formula = "=CountA($A$2:A" & Rg.Row & " )"
V = .Value
.Value = V
End With
End Sub




"michdenis" %23$
En VBA sans boucle ...

Sub test()
Dim Rg As Range, V
With Range("A1:A" & Range("A65536").End(xlUp).Row)
Set Rg = .SpecialCells(xlCellTypeConstants, 23).Cells
Rg.Offset(, 1).Formula = "=CountA($A$1:A" & Rg.Row & " )"
V = .Value
.Value = V
End With
End Sub




"alain Lebayle" news: 48f4db38$0$7932$
Bonsoir,
J'ai un tableau avec des valeurs de A2 à A..., je souhaite avoir de B2 à
B... des chiffres de 1 à ... suivant ce qu'il y a dans la colonne A2 à A...
en non vide

Je vous remercie beaucoup
Alain
Philippe.R
Le #17530251
P'tet ben que oui...

"michdenis" news:

| puis double clic sur la poignée de recopie

Comme il y a des cellules vides en colonne A,
ça prendrait plus qu'un double-clic ...

Deuxièmement, il faudrait transformer ces formules en constantes !





michdenis
Le #17531021
Il y avait une coquille à la procédure publiée...
Le "offset" était absent à ces lignes de code :

V = .Offset(, 1).Value
.Offset(, 1).Value = V


Voici la procédure avec la modification apportée :
'--------------------------------
Sub test()
Dim V As Variant
With Range("A2:A" & Range("A65536").End(xlUp).Row)
With .SpecialCells(xlCellTypeConstants, 23).Cells
.Offset(, 1).Formula = "=CountA($A$2:A" & .Row & " )"
End With
V = .Offset(, 1).Value
.Offset(, 1).Value = V
End With
End Sub
'--------------------------------




"michdenis" %23$
En VBA sans boucle ...

Sub test()
Dim Rg As Range, V
With Range("A1:A" & Range("A65536").End(xlUp).Row)
Set Rg = .SpecialCells(xlCellTypeConstants, 23).Cells
Rg.Offset(, 1).Formula = "=CountA($A$1:A" & Rg.Row & " )"
V = .Value
.Value = V
End With
End Sub




"alain Lebayle" news: 48f4db38$0$7932$
Bonsoir,
J'ai un tableau avec des valeurs de A2 à A..., je souhaite avoir de B2 à
B... des chiffres de 1 à ... suivant ce qu'il y a dans la colonne A2 à A...
en non vide

Je vous remercie beaucoup
Alain
Publicité
Poster une réponse
Anonyme