Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Macro (formule pour cellule active)

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 !

Usine à gaz

XLDnaute Barbatruc
Bonjour à tous,

Une nouvelle fois, je viens vers vous chercher du secours !!!

Voici mon soucis :

Dans une macro, au préalable, je remets à vide ("") une série de cellules.

je voudrais faire la "chose" suivante :

par exemple, écrire dans la macro pour la cellule "E2" que si la cellule "D2" est égale à "";E2 "",sinon E2 "ça marche"

Mais, c'est une valeur à donner dans la cellule qui est concernée par la formule et je ne sais pas faire.

"J'espère est compréhensible" LOL

Si cela est possible .....

Merci d'avance de l'intérêt que vous portez à nos questions de profanes.

Amicalement,
Lionel,
 
Dernière édition:
Re : Macro (formule pour cellule active)

Bonjour arthour973, Pierrot,

La macro complète pour renseigner la colonne E :

Code:
Sub Formule()
Dim r As Range
With ActiveSheet 'à adapter si nécessaire
  'avec titres en ligne 1
  Set r = Intersect(.Range("E2:E" & .Rows.Count), .UsedRange.EntireRow)
End With
If Not r Is Nothing Then
  r.FormulaR1C1 = "=REPT(""ça marche"",RC[-1]<>"""")"
  r.Value = r.Value 'supprime les formules
End If
End Sub
Je suppose qu'il y a des titres en ligne 1.

A+
 
Re : Macro (formule pour cellule active)

Bonjour Pierrot,
Bonjour à tous,

Merci pour ta réponse si rapide.
Voici ce que j'ai inclus dans ma macro :
(j'en ai 50 à faire)
Range("E3").Value = IIf(Range("D3").Value = "", "")
Range("F3").Value = IIf(Range("D3").Value = "", "")
Range("Q3").Value = IIf(Range("P3").Value = "", "")
Range("R3").Value = IIf(Range("P3").Value = "", "")
Range("AC3").Value = IIf(Range("AB3").Value = "", "")
Range("AD3").Value = IIf(Range("AB3").Value = "", "")
Range("AO3").Value = IIf(Range("AN3").Value = "", "")
Range("AP3").Value = IIf(Range("AN3").Value = "", "")
Range("BA3").Value = IIf(Range("AZ3").Value = "", "")
Range("BB3").Value = IIf(Range("AZ3").Value = "", "")
Range("BM3").Value = IIf(Range("BL3").Value = "", "")
Range("BN3").Value = IIf(Range("BL3").Value = "", "")
Range("BY3").Value = IIf(Range("BX3").Value = "", "")
Range("BZ3").Value = IIf(Range("BX3").Value = "", "")
Range("CK3").Value = IIf(Range("BJ3").Value = "", "")
Range("CL3").Value = IIf(Range("BJ3").Value = "", "")
Range("CW3").Value = IIf(Range("CV3").Value = "", "")
Range("CX3").Value = IIf(Range("CV3").Value = "", "")
Range("DI3").Value = IIf(Range("DH3").Value = "", "")
Range("DJ3").Value = IIf(Range("DH3").Value = "", "")
Range("DU3").Value = IIf(Range("DT3").Value = "", "")
Range("DV3").Value = IIf(Range("DT3").Value = "", "")
Range("EG3").Value = IIf(Range("EF3").Value = "", "")
Range("EH3").Value = IIf(Range("EF3").Value = "", "")
Range("ES3").Value = IIf(Range("ER3").Value = "", "")
Range("ET3").Value = IIf(Range("ER3").Value = "", "")
Range("FE3").Value = IIf(Range("FD3").Value = "", "")
Range("FF3").Value = IIf(Range("FD3").Value = "", "")
Range("FQ3").Value = IIf(Range("FP3").Value = "", "")
Range("FR3").Value = IIf(Range("FP3").Value = "", "")
Range("GC3").Value = IIf(Range("GB3").Value = "", "")
Range("GD3").Value = IIf(Range("GB3").Value = "", "")
Range("GO3").Value = IIf(Range("GN3").Value = "", "")
Range("GP3").Value = IIf(Range("GN3").Value = "", "")
Range("HA3").Value = IIf(Range("GZ3").Value = "", "")
Range("HB3").Value = IIf(Range("GZ3").Value = "", "")
Range("HM3").Value = IIf(Range("HL3").Value = "", "")
Range("HN3").Value = IIf(Range("HL3").Value = "", "")
Range("HY3").Value = IIf(Range("HX3").Value = "", "")
Range("HZ3").Value = IIf(Range("HX3").Value = "", "")
Range("IK3").Value = IIf(Range("IJ3").Value = "", "")
Range("IL3").Value = IIf(Range("IJ3").Value = "", "")
Range("IW3").Value = IIf(Range("IV3").Value = "", "")
Range("IX3").Value = IIf(Range("IV3").Value = "", "")
Range("JI3").Value = IIf(Range("JH3").Value = "", "")
Range("JJ3").Value = IIf(Range("JH3").Value = "", "")
Range("JU3").Value = IIf(Range("JT3").Value = "", "")
Range("JV3").Value = IIf(Range("JT3").Value = "", "")
Range("KG3").Value = IIf(Range("KF3").Value = "", "")
et voilà ce qu'il me dit :

Erruer de compilation - argument non facultatif
et il surligne le IIf

Qu'en penses-tu ?

Amicalement,
Lionel,
 
Re : Macro (formule pour cellule active)

Bonjour Job75,
Bonjour,

Merci pour cette réponse.
J'ai 3 lignes de titres (1.2.3) cela a-t-il une incidence ?

Je vais essayer ta macro mais je ne comprends pas le "E2:E", pkoi pas simplement "E2" ?

Amicalement,
Lionel,
 
Re : Macro (formule pour cellule active)

Re, bonjour Job🙂

manque le 2ème argument, si D3 est différent de vide :
Code:
Range("E3").Value = IIf(Range("D3").Value = "", "", "çca marche")

A voir également si on ne peut^pas faire une boucle...
 
Re : Macro (formule pour cellule active)

Re,

avec une boucle, je te laisse gérer le numéro de dernière colonne à traiter, fait sous 2003 :
Code:
Dim i As Long
For i = 5 To 246 Step 12
    Cells(3, i).Resize(, 2).Value = IIf(Cells(3, i - 1).Value = "", "", "ça marche")
Next i
 
Re : Macro (formule pour cellule active)

Bonjour Pierrot,
Merci pour ta formule.

Avec ces codes, ils va me traiter les cellules que je veux traiter (voir ma réponse plus vas) ?
C'est vrai qu'en boucles, je ne connais que celles des cheveux de ma copine LOL.

Je le mets où le numéro de la dernière colonne à traiter ( je sais, ça peut sembler lourd )

Un grand merci en tout cas.

Lionel,
 
Re : Macro (formule pour cellule active)

Re-bonjour à tous,

J'ai du mal m'expliquer ou j'ai rien compris.

Vous me dites : Ma macro du post #3 traite toutes les cellules utiles de la colonne E.

Mais ce n'est pas la colonne E que j'ai besoin de traiter mais des cellules isolées

"E3"-"F3"-"Q3"-"R3"-"AC3"-"AD3"-"AO3"-"AP3"-"BA3"-"BB3"-"BM3"-"BN3"-"BY3"-"BZ3"-"CK3"-"CL3"-"CW3"-"CX3"-"DI3"-"DJ3"-"DU3"-"DV3"-"EG3"-"EH3"-"ES3"-"ET3"-"FE3"-"FF3"-"FQ3"-"FR3"-"GC3"-"GD3"-"GO3"-"GP3"-"HA3"-"HB3"-"HM3"-"HN3"-"HY3"-"HZ3"-"IK3"-"IL3"-"IW3"-"IX3"-"JI3"-"JJ3"-"JU3"-"JV3"-"KG3"

selon pour E3,Q3 etc... : = "=IF(R[-1]C="""","""","ça marche")"

ou pour F3,R3 etc... : = "=IF(R[-1]C[-1]="""","""","ça marche")"

Qu'en pensez-vous ?

Lionel,
 
Dernière édition:
Re : Macro (formule pour cellule active)

Re,



en testant tu le verras vite...

Bonjour Pierrot,
Bonjour à tous,
Je vous souhaite un bon 1er mai.(voir photo jointe)

j'ai pris le temps de tester ton code, voilà ce que j'ai fait :

Dim i As Long
For i = 5 To 294 Step 12
Cells(3, i).Resize(, 2).Value = IIf(Cells(3, i - 1).Value = "1", "””")
Next i


La macro bloque sur le IIf

J'ai pas du comprendre un truc ......

Qu'en penses-tu ?

Amicalement,
Lionel,
 

Pièces jointes

  • Muguet.jpg
    29.2 KB · Affichages: 45
  • Muguet.jpg
    29.2 KB · Affichages: 43
  • Muguet.jpg
    29.2 KB · Affichages: 46
Dernière édition:
Re : Macro (formule pour cellule active)

Bonjour,

relis les post #6... manque toujours le 2ème argument de la fonction IIF (voir aide vba, touche de fonction F1 sur le mot en question)...

bonne journée
@+
 
Re : Macro (formule pour cellule active)

Bonjour Pierrot,
Bonjour à tous,

J'ai bien relus les posts mais je ne comprends pas.

avec ton code :

Dim i As Long
For i = 5 To 294 Step 12
Cells(3, i).Resize(, 2).Value = IIf(Cells(3, i - 1).Value = "1", "””")
Next i

J'ai fais cela :

Dim i As Long
For i = 5 To 294 Step 12
Range("E3:F3").Value = IIf(Range("E3:F3").Value = "1", “”””)
Next i

car en fait, toutes les 12 colonnes, il y a deux cellules à renseigner

Mais ce que j'ai fait ne marche pas !!!

Amicalement,
Lionel,
 
Re : Macro (formule pour cellule active)

Bonjour,

comme déjà dit, il manque le 2ème argument de la fonction IIF

Code:
 IIf(Cells(3, i - 1).Value = "1", "C'est vrai", "c'est faux")

bonne journée
@+
 
- 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

Discussions similaires

  • Question Question
XL 2021 Macro
Réponses
6
Affichages
312
Réponses
5
Affichages
323
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…