A la suivante

gscv

XLDnaute Junior
Bonjour à tous et à toutes

Voici mon souci, j’ai fais une macro qui fonction à merveille mais je souhaiterais l’appliquer dans les cellules descendantes. Je m’explique :
Je récupère de A1 a A300 des données par importation et je souhaiterais appliquer ma macro a chaque cellule du type

For i=1 to 3000
‘ici Selection de ma cellule a1 puis a2 etc…
Call myapply
Next i

Ceci n’est bien sur qu’une idée de construction du problème.

Je sais que mes explication son pas très explicite mais bon je dois faire avec.


Merci par avance
Sébastien
:huh:
 

Abel

XLDnaute Accro
Bonjour gscv,

Et nous aussi .... (pour les explications).

Et avec :

for each c in range ('a1:a' & range ('a65536').end(xlup).row)
....
'Les instructions'
...
next c

'Les instructions' seront exécutées pour chaque cellules de A1 à la première cellule non vide rencontrée dans la colonne 'A' en partant du bas de la feuille.

On peut faire aussi :
for each c in range ('a1:a' & range ('a1').end(xldown).row)

Qui va chercher de 'A1' à la première cellule vide de la colonne 'A' en partant de 'A1' mais il y a un risque s'il y a un 'trou'.

Abel.
 

gscv

XLDnaute Junior
Marche pas :S

bon pour simplifier

en A1 tape le texte 'B+1'
puis a2 'B+5'
et ainsi de suite en fesant varier le chiffrer au hazard de 0 à 9

ensuite voila la marco

Sub toto()
For Each c In Range('a1:a' & Range('a65536').End(xlop).raw)
toto1 = UCase(ActiveCell)
result1 = Left(toto1, 1)
If result1 = 'B' Then
som1 = Right(toto1, 1) + 1
Else
som1 = Right(toto1, 1)
End If
'--- Renvoie

'ActiveCell +1 = som1 ' ici je souhaiterais que b1 affiche le resultat
Next c
End Sub

J'espere que ce sera plus claire

pour la ligne mauve je cherche a revoyer le resultat dans la cellule voisin du text exemple : le resultat de A1 en B1

voila

en esperant que cela ai une solution


cordialement

Sébastien

Message édité par: gscv, à: 08/09/2005 11:29
 

Abel

XLDnaute Accro
Re,

Je n'ai pas testé mais essaie comme ceci :

Sub toto()
For Each c In Range('a1:a' & Range('a65536').End(xlup).row)
If left (ucase(c.value),1) = 'B' Then
c.offset(0,1)=(right(c.value,1)*1)+1
Else
c.offset(0,1)=right(c.value,1)*1
End If
Next c
End Sub

Abel.
 

Discussions similaires

Statistiques des forums

Discussions
312 970
Messages
2 094 044
Membres
105 926
dernier inscrit
Odyssea