Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Excel > Macros et VBA Excel
Macros et VBA Excel Vos questions relatives aux macros Excel, à l'utilisation de VBA et à l'automatisation de vos classeurs Excel.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 06/01/2012, 11h01   #1
Nouveau Membre du Club
 
Inscription : janvier 2009
Messages : 78
Détails du profil
Informations forums :
Inscription : janvier 2009
Messages : 78
Points : 26
Points : 26
Par défaut Mettre dans cellule que le résultat et non la formule

Bonjour a tous en bonne année 2012
Voilà je prend un exemple simple j'ai des nombres de A1 à A10 et j'écris en B2 la formule suivante
Code :
=SI(SOMME(A1:A10)>30;"grand";"petit")
le résultat me mais bien grand ou petit en fonction de la somme des nombres de la conne A.
Maintenant je mais en VBA cette formule
Code :
1
2
3
4
Sub Macro1()
    ActiveCell.FormulaR1C1 = _
        "=IF(SUM(R[-2]C[-1]:R[7]C[-1])>30,""grand"",""petit"")"
End Sub
je souhaite afficher que le résultat et la formule
Je voudrai aussi transformer cette macro1 en une function personnalisé
Merci et bonne journée a tous
Philippe
Philippe76 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/01/2012, 11h06   #2
Membre Expert
 
Avatar de ZebreLoup
 
Homme Sebastien L
Ingénieur Financier
Inscription : mars 2010
Messages : 880
Détails du profil
Informations personnelles :
Nom : Homme Sebastien L
Âge : 33
Localisation : France, Val de Marne (Île de France)

Informations professionnelles :
Activité : Ingénieur Financier
Secteur : Finance

Informations forums :
Inscription : mars 2010
Messages : 880
Points : 1 867
Points : 1 867
Attention, à l'orthographe et aux mots manquants, ce n'est pas toujours évident de comprendre ce que tu veux. Mais je crois que je vois, je te fais un truc de suite.

Code :
1
2
3
4
5
Public Function SommeGrandePetite(rg As Range) As String
    Dim s As Double
    s = WorksheetFunction.Sum(rg)
    SommeGrandePetite = IIf(s > 30, "grand", "petit")
End Function
__________________
« Compter en octal, c’est comme compter en décimal, si on n’utilise pas ses pouces » - Tom Lehrer
« Il est assez difficile de trouver une erreur dans son code quand on la cherche. C’est encore bien plus dur quand on est convaincu que le code est juste. » - Steve McConnell
ZebreLoup est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/01/2012, 11h19   #3
Nouveau Membre du Club
 
Inscription : janvier 2009
Messages : 78
Détails du profil
Informations forums :
Inscription : janvier 2009
Messages : 78
Points : 26
Points : 26
Par défaut =SommeGrandePetite(A1:A10)

Merci pour ta réponse
Effectivement je souhaite presque cela mais cela affiche dans la, cellule
Code :
=SommeGrandePetite(A1:A10)
et moi je voulais juste grand ou petit.
A moins de pouvoir écrire en VBA la formule sous forme Macro mais n'afficher que le résultat
merci
Philippe76 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/01/2012, 11h44   #4
Membre Expert
 
Avatar de ZebreLoup
 
Homme Sebastien L
Ingénieur Financier
Inscription : mars 2010
Messages : 880
Détails du profil
Informations personnelles :
Nom : Homme Sebastien L
Âge : 33
Localisation : France, Val de Marne (Île de France)

Informations professionnelles :
Activité : Ingénieur Financier
Secteur : Finance

Informations forums :
Inscription : mars 2010
Messages : 880
Points : 1 867
Points : 1 867
C'est un cellule au format texte ? Parce que sinon, ça devrait marcher, j'ai testé.

Et tu l'as mis où ce code ?
__________________
« Compter en octal, c’est comme compter en décimal, si on n’utilise pas ses pouces » - Tom Lehrer
« Il est assez difficile de trouver une erreur dans son code quand on la cherche. C’est encore bien plus dur quand on est convaincu que le code est juste. » - Steve McConnell
ZebreLoup est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/01/2012, 11h53   #5
Nouveau Membre du Club
 
Inscription : janvier 2009
Messages : 78
Détails du profil
Informations forums :
Inscription : janvier 2009
Messages : 78
Points : 26
Points : 26
Par défaut Grand petit

Merci
J'ai écrit le code dans un module effectivement cela écrit bien grand ou petit mais ce que voulait et je crois que cela n'est possible du moins sous cette forme d'ecriture c'est quand je clic dans ma cellule je ne vois que "grand ou petit" comme si je faisais un copier/coller les valeurs
Merci
Philippe76 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/01/2012, 12h00   #6
Membre Expert
 
Avatar de ZebreLoup
 
Homme Sebastien L
Ingénieur Financier
Inscription : mars 2010
Messages : 880
Détails du profil
Informations personnelles :
Nom : Homme Sebastien L
Âge : 33
Localisation : France, Val de Marne (Île de France)

Informations professionnelles :
Activité : Ingénieur Financier
Secteur : Finance

Informations forums :
Inscription : mars 2010
Messages : 880
Points : 1 867
Points : 1 867
Dans ce cas il faut faire une macro qui va recopier le résultat dans la cellule. Mais ça ne se mettra pas à jour automatiquement. Sauf en jouant avec l'évènement Worksheet_Change...
__________________
« Compter en octal, c’est comme compter en décimal, si on n’utilise pas ses pouces » - Tom Lehrer
« Il est assez difficile de trouver une erreur dans son code quand on la cherche. C’est encore bien plus dur quand on est convaincu que le code est juste. » - Steve McConnell
ZebreLoup est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 21h23.


 
 
 
 
Partenaires

Hébergement Web