Macro Excel - repeter une fonction sur plusieurs cellules [Résolu]

Messages postés
6
Date d'inscription
jeudi 31 mai 2007
Statut
Membre
Dernière intervention
5 juin 2007
- - Dernière réponse : jecario
Messages postés
6
Date d'inscription
jeudi 31 mai 2007
Statut
Membre
Dernière intervention
5 juin 2007
- 5 juin 2007 à 13:46
Bonjour,

Mon objectif est de repeter une fonction sur plusieurs cellules.
Par exemple, ecrire " =HEX2BIN(---;8)" sur 10 cellules, les coordonnees de la cellule de depart etant donnees par --- (par exemple, 2 cellules au dessus).
Pour l'instant, je n'ai rien de mieux que ca :

[C3].Select
For i = 1 To 7 Step 1
    ActiveCell.Value = ("=HEX2BIN(C2;8)")
    Selection.Offset(0, 1).Select
Next i

S'il fallait travailler sur une colonne et non une ligne, il suffirait d'utiliser comme coordonnees "C"&r, avec r variant de 1 a 7, mais la, sur une colonne, comment faire ? Je ne veux pas que ma cellule de reference soit C2, mais C2, puis D2, puis E2...
Par ailleurs, je n'arrive a ecrire la formule que lorsque le format de la cellule est defini comme du texte. Si a la base il est defini comme standard, la macro me retourne une erreur. Et si apres ecriture (la cellule etant d'abord definie comme texte) je la modifie en standard, la cellule n'affiche pas de valeur numerique mais elle reste avec =HEX2BIN(C2;8). Alors comment ecrire la formule et, apres execution de la macro, obtenir l'affichage des valeurs numeriques ?

Une petite idee...?  
Afficher la suite 

3 réponses

Meilleure réponse
Messages postés
2237
Date d'inscription
lundi 29 mai 2006
Statut
Membre
Dernière intervention
29 mai 2008
5
3
Merci
Salut regarde du côté de sélection.AutoFill ou sinon enregistre toi en train de faire la manip et tu vas voir le code généré.

 Drikce 06

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 199 internautes nous ont dit merci ce mois-ci

Commenter la réponse de drikce06
Messages postés
7393
Date d'inscription
mercredi 23 avril 2003
Statut
Membre
Dernière intervention
6 avril 2012
46
0
Merci
Salut,
Pas sur du totu que ca marche mais essaie ceci (exemple qui montre simplement ce que te propose[auteurdetail.aspx?ID=786090 Drikce06] )

    Range("C3").Select
    ActiveCell.Value = ("=HEX2BIN(C2;8)")
    Selection.AutoFill Destination:=Range("C3:C10"), Type:=xlFillDefault
   

@+: Ju£i?n
Pensez: Réponse acceptée
Commenter la réponse de jrivet
Messages postés
6
Date d'inscription
jeudi 31 mai 2007
Statut
Membre
Dernière intervention
5 juin 2007
0
Merci
Le plus simple est d'aller voir le code genere...


Merci pour les idees
Commenter la réponse de jecario