Faire varier les cellules dans un code ?

francois1955

XLDnaute Junior
Bonjour,

Comment peut-on faire varier, dans un code, le nom des cellules svp ?

Exemple (résolu) :
Pour programmer l’effacement de lignes inutiles (car vides) dans l’affichage de résultats, je m’en suis sorti de la façon suivante :
For n=1 to 100
If (Range("B" & n) = "") ThenRows(n).Delete
Next n

Mais je ne sais pas comment faire pour une plage :

Range("A"&i:"A"&j).Activate
et
ActiveCell.FormulaR1C1 = "=MAX(R[-100+k]C:R[-1]C)"
ne marchent pas ?

Merci
 

Spitnolan08

XLDnaute Barbatruc
Re : Faire varier les cellules dans un code ?

Bonsoir,

Pour : Range("A"&i:"A"&j).Activate il y a déjà eu un post sur le sujet aujourd'hui...
Code:
Range("A" & i & ":A" & j).activate
Pour le reste tout dépend de ce que tu veux faire exactement ?
Inscrire une formule dans la feuille ou noter le résultat de cette formule ?
Généralement l'utilisation de VBA vise à obtenir la 2ème version.

Cordialement
 
C

Compte Supprimé 979

Guest
Re : Faire varier les cellules dans un code ?

Bonsoir François1955,

En langage VBA, il suffit d'être logique ;)

Range("A"&i:"A"&j)
La bonne syntaxe est : Range("A" & i ":A" & j)

ActiveCell.FormulaR1C1 = "=MAX(R[-100+k]C:R[-1]C)"
Là, il faut le savoir, tu peux rentrer la formule comme sur la feuille Excel.
ActiveCell.FormulaLocal = "=MAX(A" & Deb & "A" & Fin & ")"

J'espère que ce sera clair pour toi !

A+

Edit : Oups, salut Spitnolan08, désolé tu as été plus rapide.
 

Cousinhub

XLDnaute Barbatruc
Re : Faire varier les cellules dans un code ?

Bonsoir,
sans répondre à ta deuxième question, je me permets de faire une remarque sur ton premier code :

Code:
For n=1 to 100
If (Range("B" & n) = "") ThenRows(n).Delete
Next n

Ce code ne fonctionnera pas si tu as 2 lignes vides à suivre....
Pour supprimer des cellules, ou des lignes, il faut partir du bas...

Exemple, avec ton code :

Code:
For n=100 to 1 Step - 1
If (Range("B" & n) = "") ThenRows(n).Delete
Next n

qu'on peut simplifier comme ceci :

Code:
Range("B1:B" & [B65000].End(xlUp).Row).SpecialCells(xlCellTypeBlanks).EntireRow.Delete
 

francois1955

XLDnaute Junior
Re : Faire varier les cellules dans un code ?

Merci beaucoup à tous les 2 pour ces réponses ultra-rapides que je testerai demain:

Bruno, personnellement je ne trouve pas logique que le séparateur : soit "prisonnier" des guillemets :)). Je note aussi que la réponse de Spitnolan comporte un 1 supplémentaire.
Spitnolan08, je voudrais en effet noter le résultats de cette formule. Je suis très surpris de la syntaxe de Bruno mais là encore je n'ai pas dû comprendre la logique des guillemets :))
Merci encore!
 

Spitnolan08

XLDnaute Barbatruc
Re : Faire varier les cellules dans un code ?

Re,
Bonsoir BrunoM45, bhbh

Pour le 1 supplémentaire, je ne comprend pas...
Pour le reste, ce que t'indique BrunoM45 est tout à fait bon
Code:
ActiveCell.Value = WorksheetFunction.Max(Range(ActiveCell.Offset(-1, 0), ActiveCell.Offset(-100 + k, 0)))
Cordialement
 
Dernière édition:

Discussions similaires

Réponses
8
Affichages
682

Membres actuellement en ligne

Statistiques des forums

Discussions
312 493
Messages
2 088 956
Membres
103 990
dernier inscrit
lamiadebz