Ecrire une formule dans une cellule en VBA

Bonjour,

J'aimerais solliciter votre aide:

en effet je souhaite par le moyen d'une VBA pouvoir écrire une formule dans une ou plusieurs cellules si la ou les cellules avoisinantes ne sont pas vides sinon les cellules doivent rester vierges (voir le photo)

Avec tous mes remerciements

excel formule

Salut, bienvenue sur le forum

Alors sans les références aux colonnes et aux lignes, la seule chose qu'on peut te filer ces comment procéder pour que tu l'adapte à ton fichier.

Et donc, pour écrire une formule dans une cellule :

Cells(1, 1).FormulaR1C1 = "=maformule"

Je te conseil te faire une boucle For pour procéder en une seule fois sur toute tes lignes

BONJOUR

MERCI POUR TON AIDE

CONCERNANT LES COLONNES ET LIGNES IL S'AGIT DE LA COLONNE A LIGNES DE A8 à A17 POUR LA FORMULE "+SI(ESTNA(RECHERCHEV(D8;Bases!$B$2:$F$370;5;0));"";RECHERCHEV(D8;Bases!$B$2:$F$370;5;0))"

ET LA COLONNE D POUR LES DONNÉES ÉGALEMENT DE D8 A D17.

JE PRECISE QUE LES LIGNES A8 à A17 DOIVENT ABSOLUMENT RESTER VIERGES S'IL N'Y A PAS DE DONNÉES DANS LA COLONNE D

ENCORE MERCI

Bonjour,

Ecrire une formule dans une cellule en vba

C'est une opération que je qualifie habituellement d'absurde ! Pourquoi ?

Parce que lorsqu'on place une formule c'est normalement une opération que l'on ne fait qu'une fois.

Parce que conditionner l'existence ou non de la formule à un test sur l'existence de valeur dans une cellule n'est rien d'autre qu'une condition qui peut fort bien être incluse dans la formule.

Parce qu'il nettement plus facile et plus rapide d'insérer une formule manuellement que d'utiliser VBA pour cela.

L'utilité de VBA en la matière est généralement d'opérer le calcul et affecter le résultat, lorsque l'on veut éviter de mettre une formule...

Je n'apporte donc en principe pas ma contribution sur ce genre de projet improductif... mais il peut y avoir des exceptions, quoique ton image ne montre aucune particularité qui pourrait justifier l'opération.

On y voit seulement que tu ne formules guère avec beaucoup de brio !

Une formule débutant par un "+" : Excel va automatiquement transformer en "=+". Je ne sais très bien pourquoi mais les formules débutant ainsi ont le don de m'énerver... Cela dénote que l'on reste plus que nécessaire bloqué sur son clavier en majuscules, que l'on n'a pas assimilé que lorsqu'on réfère à des composants Excel la frappe en minuscules est préférable, Excel bascule en majuscules les références, les noms de fonctions, etc.

La composition de la formule, doublonnée pour tester la valeur renvoyée, se concevait jusqu'à Excel 2003, mais depuis Excel 2007, la fonction SIERREUR permet de l'éviter.

Et une formule, telle :

=SIERREUR(SI(D8<>"";RECHERCHEV(D8;Bases!$B$2:$F$370;5;0);"");"")

remplira les fonctions recherchées sans mobiliser inutilement VBA.

Cordialement.

edit : Ton dernier post confirme que tu devrais améliorer sensiblement ta dextérité au clavier, afin d'éviter de rester bloqué fort mal à propos en majuscules !

Au cas où tu l'ignorerais, écrire un texte en majuscules sur le Net signifie que tu le hurles ! Il serait bien de te calmer...

bonjour

ce n'était pas mon intention de hurler en écrivant en majuscule je l'ai fait sans arrière pensée comme tu le supposes et en aucun moment je ne t'ai demandé de me juger sur mon inexpérience

mon problème a été résolu et je te donne la solution au cas ou....

Sub test()

Dim C As Range

For Each C In [A8:A17]

If C.Offset(, 3) <> "" Then

C.FormulaLocal = "=SI(ESTNA(RECHERCHEV(D" & C.Row & ";Bases!B2:F370;5;0));"""";RECHERCHEV(D" & _

C.Row & ";Bases!B2:F370;5;0))"

End If

Next C

End Sub

merci quand même

Donc en plus tu multipostes ! On le saura pour une autre fois.

Je n'ai nul besoin de solution en la matière mais je la trouverais plutôt mal écrite et peu performante, mais peu importe...

Je ne jugeais nullement ton inexpérience mais tentais de te faire comprendre quelques éléments du fonctionnement d'Excel et de VBA, pour le cas où tu voudrais ne pas t'y cantonner , mais tu es libre de tes choix.

Rechercher des sujets similaires à "ecrire formule vba"