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

Cellules Vides

13 réponses
Avatar
Pascal Scal
Bonjour,
J'ai ce code qui me permet de recopier une formule en f6 de la coller sur la
cellule d'en dessous tant que en A:A les cellules ne sont pas vides.
Le soucis lorsque je lance la macro la formule est recopiée même si en A:A
les cellules sont vides.
Range("F6").Select
Selection.Copy
For Each cell In [ref]
If cell <> 0 Then
ActiveCell.Offset(1, 0).PasteSpecial (xlPasteFormulas)
End If
Next
End Sub

Dans mon classeur les cellules à partir de A21 sont vides, ma formule est
recopiée jusqu'à f24??

Une solution
Merci
Pascal

10 réponses

1 2
Avatar
Fredo P.
"Pascal Scal" a écrit dans le message de
news:et%
Bonjour,
J'ai ce code qui me permet de recopier une formule en f6 de la coller sur


la
cellule d'en dessous tant que en A:A les cellules ne sont pas vides.
Le soucis lorsque je lance la macro la formule est recopiée même si en A:A
les cellules sont vides.
Range("F6").Select
Selection.Copy
For Each cell In [ref]
If cell <>"" and cell <>0 Then
ActiveCell.Offset(1, 0).PasteSpecial (xlPasteFormulas)
End If
Next
End Sub

Dans mon classeur les cellules à partir de A21 sont vides, ma formule est
recopiée jusqu'à f24??

Une solution
Merci
Pascal




Avatar
LSteph
Bonjour,

pourrait se résumer à

[f6].Copy
[ref].Cells.SpecialCells(xlCellTypeBlanks).PasteSpecial _
Paste:=xlFormulas

'lSteph

Pascal Scal a écrit :
Bonjour,
J'ai ce code qui me permet de recopier une formule en f6 de la coller sur la
cellule d'en dessous tant que en A:A les cellules ne sont pas vides.
Le soucis lorsque je lance la macro la formule est recopiée même si en A:A
les cellules sont vides.
Range("F6").Select
Selection.Copy
For Each cell In [ref]
If cell <> 0 Then
ActiveCell.Offset(1, 0).PasteSpecial (xlPasteFormulas)
End If
Next
End Sub

Dans mon classeur les cellules à partir de A21 sont vides, ma formule est
recopiée jusqu'à f24??

Une solution
Merci
Pascal




Avatar
LSteph
... oupsss idem mais en décalant [ref] à son offset(1,0)


LSteph a écrit :
Bonjour,

pourrait se résumer à

[f6].Copy
[ref].Cells.SpecialCells(xlCellTypeBlanks).PasteSpecial _
Paste:=xlFormulas

'lSteph

Pascal Scal a écrit :
Bonjour,
J'ai ce code qui me permet de recopier une formule en f6 de la coller
sur la cellule d'en dessous tant que en A:A les cellules ne sont pas
vides.
Le soucis lorsque je lance la macro la formule est recopiée même si en
A:A les cellules sont vides.
Range("F6").Select
Selection.Copy
For Each cell In [ref]
If cell <> 0 Then
ActiveCell.Offset(1, 0).PasteSpecial (xlPasteFormulas)
End If
Next
End Sub

Dans mon classeur les cellules à partir de A21 sont vides, ma formule
est recopiée jusqu'à f24??

Une solution
Merci
Pascal





Avatar
Pascal Scal
Merci mais là cela ne me copie plus rien
Ref est égal à ("A:A")
Merci
"LSteph" a écrit dans le message de news:
%
Bonjour,

pourrait se résumer à

[f6].Copy
[ref].Cells.SpecialCells(xlCellTypeBlanks).PasteSpecial _
Paste:=xlFormulas

'lSteph

Pascal Scal a écrit :
Bonjour,
J'ai ce code qui me permet de recopier une formule en f6 de la coller sur
la cellule d'en dessous tant que en A:A les cellules ne sont pas vides.
Le soucis lorsque je lance la macro la formule est recopiée même si en
A:A les cellules sont vides.
Range("F6").Select
Selection.Copy
For Each cell In [ref]
If cell <> 0 Then
ActiveCell.Offset(1, 0).PasteSpecial (xlPasteFormulas)
End If
Next
End Sub

Dans mon classeur les cellules à partir de A21 sont vides, ma formule est
recopiée jusqu'à f24??

Une solution
Merci
Pascal




Avatar
Jacky
Bonjour,

Sans Vba ??
En F6
=SI(A6="";"";La_Formule)
et recopier vers le bas aussi loin que besoin

--
Salutations
JJ


"Pascal Scal" a écrit dans le message de news:
et%
Bonjour,
J'ai ce code qui me permet de recopier une formule en f6 de la coller sur
la cellule d'en dessous tant que en A:A les cellules ne sont pas vides.
Le soucis lorsque je lance la macro la formule est recopiée même si en A:A
les cellules sont vides.
Range("F6").Select
Selection.Copy
For Each cell In [ref]
If cell <> 0 Then
ActiveCell.Offset(1, 0).PasteSpecial (xlPasteFormulas)
End If
Next
End Sub

Dans mon classeur les cellules à partir de A21 sont vides, ma formule est
recopiée jusqu'à f24??

Une solution
Merci
Pascal



Avatar
gmlsteph
Chez moi le code propsoé fonctionne.

[f6].Copy
[Ref].Cells.SpecialCells(xlCellTypeBlanks).Offset(1).PasteSpecial _
Paste:=xlFormulas

Si tu Ecris [Ref]
cela suppose que Ref soit une plage définie de la feuille exemple
[A1:Z1]

cela pourrait aussi se dire
Range("Ref")
ou
Range("A1:Z1")
ce qui permettrait d'écrire en dessous
donc en a2:z2 pour chaque cellule vide en 1:1
mais

-Pour a:a ce serait une colonne entière, donc cela ne va pas.
De plus il n'est pas vraiment clair que tu veuilles décaler d'une
ligne
Suppose que l'on doive traiter a65536 désolé mais on pourra pas écrir e
en 65537 (dumoins jusqu'en xl2003)
En plus si a2 est vide et que a3 contient une valeur elle sera
écrasée!

Sans autre explication ou exemple pour moi cela ne tient pas debout!

@+

lSteph

On 17 fév, 10:22, "Pascal Scal" wrote:
Merci mais là cela ne me copie plus rien
Ref est égal à ("A:A")
Merci
"LSteph" a écrit dans le message de news:
%



> Bonjour,

> pourrait se résumer à

> [f6].Copy
> [ref].Cells.SpecialCells(xlCellTypeBlanks).PasteSpecial _
> Paste:=xlFormulas

> 'lSteph

> Pascal Scal a écrit :
>> Bonjour,
>> J'ai ce code qui me permet de recopier une formule en f6 de la coller sur
>> la cellule d'en dessous tant que en A:A les cellules ne sont pas vides .
>> Le soucis lorsque je lance la macro la formule est recopiée même s i en
>> A:A les cellules sont vides.
>> Range("F6").Select
>> Selection.Copy
>> For Each cell In [ref]
>> If cell <> 0 Then
>> ActiveCell.Offset(1, 0).PasteSpecial (xlPasteFormulas)
>> End If
>> Next
>> End Sub

>> Dans mon classeur les cellules à partir de A21 sont vides, ma formul e est
>> recopiée jusqu'à f24??

>> Une solution
>> Merci
>> Pascal- Masquer le texte des messages précédents -

- Afficher le texte des messages précédents -


Avatar
gmlsteph
Si c'est cela voilà qui n'a rien à voir avec ce que j'avais compris
déjà qu select (c pas bon)
du coup j'avais zappé le activecell

donc on va pas non plus traiter F:F en partant de a:a si F6 est
compris dedans

Jacky a raison il vaut bien mieux utiliser une formule dans la plage
concernée!
S'il fallait traiter en deçà de F6 alors le code précédemment sugg èré
donnerait pour A7:A1000 ceci
(précision il faut qu'il y ait une extrémité remplie pour indiquer la
fin de plage à specialcells, d'où l'ajout au début d'un x en 1001)

[a1001] = "x"
[f6].Copy
[A7:A1000].Cells.SpecialCells(xlCellTypeBlanks).Offset(0,
5).PasteSpecial _
Paste:=xlFormulas
[a10001] = ""

On 17 fév, 10:34, "Jacky" wrote:
Bonjour,

Sans Vba ??
En F6
=SI(A6="";"";La_Formule)
et recopier vers le bas aussi loin que besoin

--
Salutations
JJ

"Pascal Scal" a écrit dans le message de news:
et%



> Bonjour,
> J'ai ce code qui me permet de recopier une formule en f6 de la coller s ur
> la cellule d'en dessous tant que en A:A les cellules ne sont pas vides.
> Le soucis lorsque je lance la macro la formule est recopiée même si en A:A
> les cellules sont vides.
> Range("F6").Select
> Selection.Copy
> For Each cell In [ref]
> If cell <> 0 Then
> ActiveCell.Offset(1, 0).PasteSpecial (xlPasteFormulas)
> End If
> Next
> End Sub

> Dans mon classeur les cellules à partir de A21 sont vides, ma formule est
> recopiée jusqu'à f24??

> Une solution
> Merci
> Pascal- Masquer le texte des messages précédents -

- Afficher le texte des messages précédents -


Avatar
Jacky
>Si c'est cela voilà qui n'a rien à voir avec ce que j'avais compris


Faut dire que la demande est pratiquement incompréhensible,
attendons que l'intéressé se manifeste.
;o))

--
Salutations
JJ


a écrit dans le message de news:

Si c'est cela voilà qui n'a rien à voir avec ce que j'avais compris
déjà qu select (c pas bon)
du coup j'avais zappé le activecell

donc on va pas non plus traiter F:F en partant de a:a si F6 est
compris dedans

Jacky a raison il vaut bien mieux utiliser une formule dans la plage
concernée!
S'il fallait traiter en deçà de F6 alors le code précédemment suggèré
donnerait pour A7:A1000 ceci
(précision il faut qu'il y ait une extrémité remplie pour indiquer la
fin de plage à specialcells, d'où l'ajout au début d'un x en 1001)

[a1001] = "x"
[f6].Copy
[A7:A1000].Cells.SpecialCells(xlCellTypeBlanks).Offset(0,
5).PasteSpecial _
Paste:=xlFormulas
[a10001] = ""

On 17 fév, 10:34, "Jacky" wrote:
Bonjour,

Sans Vba ??
En F6
=SI(A6="";"";La_Formule)
et recopier vers le bas aussi loin que besoin

--
Salutations
JJ

"Pascal Scal" a écrit dans le message de news:
et%



> Bonjour,
> J'ai ce code qui me permet de recopier une formule en f6 de la coller
> sur
> la cellule d'en dessous tant que en A:A les cellules ne sont pas vides.
> Le soucis lorsque je lance la macro la formule est recopiée même si en
> A:A
> les cellules sont vides.
> Range("F6").Select
> Selection.Copy
> For Each cell In [ref]
> If cell <> 0 Then
> ActiveCell.Offset(1, 0).PasteSpecial (xlPasteFormulas)
> End If
> Next
> End Sub

> Dans mon classeur les cellules à partir de A21 sont vides, ma formule
> est
> recopiée jusqu'à f24??

> Une solution
> Merci
> Pascal- Masquer le texte des messages précédents -

- Afficher le texte des messages précédents -


Avatar
gmlsteph
... en passant
;-)
Amicales Salutations.

(j'avais mal compris la demande j'ai rectifié mon code mais pour ce
cas..)

Tu as raison mieux vaut une formule.


--
Stéphane

On 17 fév, 10:34, "Jacky" wrote:
Bonjour,

Sans Vba ??
En F6
=SI(A6="";"";La_Formule)
et recopier vers le bas aussi loin que besoin

--
Salutations
JJ

"Pascal Scal" a écrit dans le message de news:
et%



> Bonjour,
> J'ai ce code qui me permet de recopier une formule en f6 de la coller s ur
> la cellule d'en dessous tant que en A:A les cellules ne sont pas vides.
> Le soucis lorsque je lance la macro la formule est recopiée même si en A:A
> les cellules sont vides.
> Range("F6").Select
> Selection.Copy
> For Each cell In [ref]
> If cell <> 0 Then
> ActiveCell.Offset(1, 0).PasteSpecial (xlPasteFormulas)
> End If
> Next
> End Sub

> Dans mon classeur les cellules à partir de A21 sont vides, ma formule est
> recopiée jusqu'à f24??

> Une solution
> Merci
> Pascal- Masquer le texte des messages précédents -

- Afficher le texte des messages précédents -


Avatar
Sully
Bonjour Jacky, je m'excuse de procéder ainsi pour te poser directement une
question.Pour le moment je n'arrivre pas par le forum à mettre ma question en
ligne, pourquoi je ne sais pas !!!
----------
j'en J’aimerais savoir si vous pouvez m’aider pour une macro ;

J’ai un classeur avec des données de certaines cellules que je vais
reporter dans un autre classeur.

Dans le classeur source, les données qui sont à copier sont toujours au même
endroit ex, en h 8, M12,d 10.

Ex, je dois copier la cellule h8 – m12- d10 dans le classeur receveur à
l’emplacement B5, b8, et b25 si elle est vide, si elle est pleine alors
décaler à droite en c5 c8 c9 et la fois d’après en d5,d8 d9.
C’est un classeur de résultat qui part de janvier à décembre, on va dire
qu’il y a 12 colonnes réceptrices.

On va dire que les deux fichiers sont déjà ouverts.

Par contre le fichier donneur est un tableau dont les données changent
chaque mois.

- --
J’aimerai aussi (pour plus tard) avoir la syntaxe pour décaler non plus à
droite mais en dessous : B5 , puis b6 et b7 ect si la cellule est pleine.

J’étais un peu long, j’ai voulu être claire.
merci par anticipation à toutes les personnes qui voudraient bien me répondre.
Cordialement.

--
B123


"Jacky" a écrit :

Bonjour,

Sans Vba ??
En F6
=SI(A6="";"";La_Formule)
et recopier vers le bas aussi loin que besoin

--
Salutations
JJ


"Pascal Scal" a écrit dans le message de news:
et%
> Bonjour,
> J'ai ce code qui me permet de recopier une formule en f6 de la coller sur
> la cellule d'en dessous tant que en A:A les cellules ne sont pas vides.
> Le soucis lorsque je lance la macro la formule est recopiée même si en A:A
> les cellules sont vides.
> Range("F6").Select
> Selection.Copy
> For Each cell In [ref]
> If cell <> 0 Then
> ActiveCell.Offset(1, 0).PasteSpecial (xlPasteFormulas)
> End If
> Next
> End Sub
>
> Dans mon classeur les cellules à partir de A21 sont vides, ma formule est
> recopiée jusqu'à f24??
>
> Une solution
> Merci
> Pascal
>





1 2