• Initiateur de la discussion Initiateur de la discussion MangePasDpain
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

M

MangePasDpain

Guest
Bonjour à tous,

Si j'écris ca ....ca marche

Range((Range("Administration!B3").Value) & "!" & "B5").Value = _
"=VALUE(RIGHT(Table!" & ActiveCell.Offset(1, 0).Address & ",2))+1 &"" / "" &LEFT(Table!" & ActiveCell.Offset(1, 0).Address & ",4)"

Mais si j'écris ca.....ca marche plus

Range((Range("Administration!B3").Value) & "!" & "B5").FormulaR1C1 = _
"=VALUE(RIGHT(Table!" & ActiveCell.Offset(1, 0).Address & ",2))+1 &"" / "" &LEFT(Table!" & ActiveCell.Offset(1, 0).Address & ",4)"

Etant relativement nouveau en bidouillage sous excel,je me retrouve completement bloqué....sans savoir comment proceder.

Merci à tous ceux qui prendront le temps de me répondre.
 
Bonsoir,

Pas très orthodox ton code.
Pour commencer, et pour permettre de bien répondre, il pourrait-être utile de savoir quelles données tu appelles.

Peut-être pourrais-tu mettre ton fichier en PJ, ou donner quelques explications.

Autrement, pour continuer, j'écrirais les choses autrement.
Au lieu de
Range((Range("Administration!B3").Value) & "!" & "B5")
Plutôt
Sheets(Sheets("Administration").[B3]).[B5]


Pour continuer, si tu veux utiliser la propriété .FormulaR1C1, il faut générer une formule de ce genre là : =RC(-1) / R(2)C(4)


Est-ce bien le cas ?

Bonne soirée

Rai
 
Bonsoir "MangePasDePain", Rai, le Forum

Il faut aussi noter la possibilité d'utiliser directement "Formula" qui permet de faire référence aux cellules directement (et simplement) par exemple :

Range("B1").Formula = "=SUM(A1:A100)"

Ou encore

Dim LastLigne As Integer
Dim WSName As String

WSName = Worksheets("Administration").Range("B3")

LastLigne = Worksheets(WSName).Range("A65536").End(xlUp).Row

Worksheets("Sheet1").Range("B1").Formula = "=SUM(" & WSName & "!A1:A" & LastLigne & ")"


Pour ce qui est des Crochets... Moi, perso je ne les aime pas... (Voir, entre autre, ce Fil de Discussion : Lien supprimé

Bonne Soirée et Week End
@+Thierry
 
Salut Thierry,

OK, j'ai bien lu le fil à propos des crochets.
J'avais, pour l'instant, pas entendu parler du baisse de performances,
mais je veux bien le croire.
D'autant plus Que l'ami Person est vraiment une référence, LL aussi d'ailleurs.

J'en retiendrai que les crochets sont parfois sympa, pour les petits développements, avec peu de cellules à parcourir (flemme quand tu nous tiens), mais que Range (ou Cells ?) est plus prometteur pour ole reste.

De toutes façons Range & Cells sont souvent plus pratiques pour parcourir des plages.

-------

Tiens au fait, qu'est qui serait le plus rapide dans une boucle :
Range("A1").Offset(i,0)
ou
Cells(i,1) ???

Faudra que je teste

Cordialement

Rai
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

  • Question Question
Microsoft 365 Programme trop lent
Réponses
12
Affichages
1 K
Réponses
7
Affichages
968
Réponses
1
Affichages
1 K
Réponses
4
Affichages
1 K
Retour