Cellules Vides

Le
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
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses Page 1 / 2
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Fredo P.
Le #18688131
"Pascal Scal" 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




LSteph
Le #18688241
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




LSteph
Le #18688231
... 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





Pascal Scal
Le #18688751
Merci mais là cela ne me copie plus rien
Ref est égal à ("A:A")
Merci
"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




Jacky
Le #18688911
Bonjour,

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

--
Salutations
JJ


"Pascal Scal" 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



gmlsteph
Le #18689061
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"
Merci mais là cela ne me copie plus rien
Ref est égal à ("A:A")
Merci
"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 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 -


gmlsteph
Le #18689261
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"
Bonjour,

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

--
Salutations
JJ

"Pascal Scal" 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 -


Jacky
Le #18689871
>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



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"
Bonjour,

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

--
Salutations
JJ

"Pascal Scal" 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 -


gmlsteph
Le #18689861
... 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"
Bonjour,

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

--
Salutations
JJ

"Pascal Scal" 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 -


Sully
Le #18697531
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" 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
>





Publicité
Poster une réponse
Anonyme