Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Copier formule si cellule non vide?

8 réponses
Avatar
Christophe Joly
Bonjour:

J'aimerais copier la formule suivante en E16:E47 mais uniquement si la
cellule à gauche n'est pas vide. Par exemple la formule est copiée en E17
uniquement si D17 n'est pas vide, etc.

Range("E16").Formula =
"=IF(ISERROR(VLOOKUP($B$13,CompanyData,2,TRUE)),"""",(VLOOKUP($B$13,CompanyD
ata,2,TRUE)))"
Range("E16").Copy
Range("E17:E47").Select
Selection.PasteSpecial Paste:=xlPasteFormulas, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False
Application.CutCopyMode = False

Merci d'avance pour vos suggestions.

Christophe

8 réponses

Avatar
AV
Sans me prononcer sur la pertinence de la formule :

[D16:D47].SpecialCells(xlCellTypeBlanks).Offset(0, 1).Formula = _
"=IF(ISERROR(VLOOKUP($B$13,CompanyData,2,TRUE)),"""",(VLOOKUP($B$13,CompanyData,
2,TRUE)))"

AV
Avatar
Christophe Joly
Alain:

Merci. En ce qui me concerne je suis suffisamment inconscient pour oser me
prononcer sur la pertinence de la formule. Ceci dit avec ta proposition
j'obtiens une erreur d'execution "Pas de cellules correspondantes".

Une idée? Merci.

Christophe
"AV" a écrit dans le message de
news:
Sans me prononcer sur la pertinence de la formule :

[D16:D47].SpecialCells(xlCellTypeBlanks).Offset(0, 1).Formula = _

"=IF(ISERROR(VLOOKUP($B$13,CompanyData,2,TRUE)),"""",(VLOOKUP($B$13,CompanyD

ata,
2,TRUE)))"

AV




Avatar
AV
...Ceci dit avec ta proposition
j'obtiens une erreur d'execution "Pas de cellules correspondantes".


C'est qu'il n'y a pas de cellules "vraiment vides"
En D16:D47 tu n'aurais pas une formule du style =si(blabla;???;"") ??
Mets On Error Resume Next avant

AV

Avatar
AV
Pour les "vrais vides" et les "faux vides" :

With [D16:D47]
.AutoFilter Field:=1, Criteria1:="="
.SpecialCells(xlCellTypeVisible).Offset(0, 1).Formula = la formule.......
.AutoFilter
End With

AV
Avatar
Christophe Joly
Alain:

Bien vu. C'est exactement ça.

Ceci dit maintenant la formule n'est pas recopiée dans E16:E46 lorsque les
cellules du range D16:D46 ne sont pas vides (valeur).

Est-ce que On Error Resume Next en est la cause?

Merci .

Christophe


"AV" a écrit dans le message de
news:OD%
...Ceci dit avec ta proposition
j'obtiens une erreur d'execution "Pas de cellules correspondantes".


C'est qu'il n'y a pas de cellules "vraiment vides"
En D16:D47 tu n'aurais pas une formule du style =si(blabla;???;"") ??
Mets On Error Resume Next avant

AV





Avatar
Christophe Joly
Alain:

Lorsque je mets en place ton filtre, j'ai une erreur d'execution avec le
message suivant: "Aucune liste trouvée. Sélectionnez une seule cellule de
votre liste et cliquez à nouveau sur la commande."

Est-ce que tu aurais une idée?

Merci.

Christophe


"AV" a écrit dans le message de
news:%
Pour les "vrais vides" et les "faux vides" :

With [D16:D47]
.AutoFilter Field:=1, Criteria1:="="
.SpecialCells(xlCellTypeVisible).Offset(0, 1).Formula = la
formule.......

.AutoFilter
End With

AV




Avatar
AV
La cellule D16 est surement elle vide !
1° solution simple : saisir une valeur en D16 et l'effacer (XL garde une trace
"d'occupation")
2° solution simple aussi :"Application.DisplayAlerts = False" à mettre au début
et à remettre à False après "End With"


AV
Avatar
Christophe Joly
Alain:

Une nouvelle fois merci pour ton aide. Malheureusement, j'ai toujours le
meme message d'erreur.
Je suis obligé, à regret, d'abandonner pour aujourd'hui.

La machine, comme souvent avec moi, est plus forte que l'homme. Demain sera
un jour meilleur...

Remerciements,

Christophe



"AV" a écrit dans le message de
news:O$
La cellule D16 est surement elle vide !
1° solution simple : saisir une valeur en D16 et l'effacer (XL garde une
trace

"d'occupation")
2° solution simple aussi :"Application.DisplayAlerts = False" à mettre au
début

et à remettre à False après "End With"


AV