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

Copier des formules si colonne a n'est pas vide

8 réponses
Avatar
Stef
Bonjour,

j'ai un fichier dans lequel j'importe des données externes dans les colonnes
A à Y

Dans les colonnes AA à AK, il y a des formules que j'aimerais copier sur les
lignes, seulement si la colonne A n'est pas vide.

Dans la colonne A, j'ai déjà fait une macro enlevant les lignes vides, alors
il n'y en a plus.

Merci à l'avance

8 réponses

Avatar
Daniel.C
Bonsoir.
J'ai du mal à visualiser le pb. Est-ce que tu peux donner un exemple ?
Daniel

Bonjour,

j'ai un fichier dans lequel j'importe des données externes dans les colonnes
A à Y

Dans les colonnes AA à AK, il y a des formules que j'aimerais copier sur les
lignes, seulement si la colonne A n'est pas vide.

Dans la colonne A, j'ai déjà fait une macro enlevant les lignes vides, alors
il n'y en a plus.

Merci à l'avance


Avatar
Stef
Exemple:

A B .... Y AA AB
.. AK
Nom Date .... Coût Formule1 Formule2 Formule 3
1
2
3
4
...
786

Le fait est que je ne veux pas qu'il y ai de formule s'il n'y a pas de
valeur dans la colonne A. Car dans la colonne A, à chaque fois que je remet
le fichier à jour (car les colonnes A à Y proviennent d'une base de données)
il y a des lignes qui s'ajoutent et je ne veux pas être obligé d'aller copier
les formules manuellement à chaque fois.

Merci



"Daniel.C" a écrit :

Bonsoir.
J'ai du mal à visualiser le pb. Est-ce que tu peux donner un exemple ?
Daniel

> Bonjour,
>
> j'ai un fichier dans lequel j'importe des données externes dans les colonnes
> A à Y
>
> Dans les colonnes AA à AK, il y a des formules que j'aimerais copier sur les
> lignes, seulement si la colonne A n'est pas vide.
>
> Dans la colonne A, j'ai déjà fait une macro enlevant les lignes vides, alors
> il n'y en a plus.
>
> Merci à l'avance





Avatar
Daniel.C
Essaie la macro suivante. Elle recopie les cellules de la ligne 1 :

Sub Recopie()
Dim c As Range, Col As Integer
For Each c In Range([A1], [A65536].End(xlUp))
If c <> "" Then
For Col = 27 To 37
Cells(c.Row, Col) = Cells(1, Col)
Next Col
End If
Next c
End Sub

Daniel

Exemple:

A B .... Y AA AB
.. AK
Nom Date .... Coût Formule1 Formule2 Formule 3
1
2
3
4
...
786

Le fait est que je ne veux pas qu'il y ai de formule s'il n'y a pas de
valeur dans la colonne A. Car dans la colonne A, à chaque fois que je remet
le fichier à jour (car les colonnes A à Y proviennent d'une base de données)
il y a des lignes qui s'ajoutent et je ne veux pas être obligé d'aller copier
les formules manuellement à chaque fois.

Merci



"Daniel.C" a écrit :

Bonsoir.
J'ai du mal à visualiser le pb. Est-ce que tu peux donner un exemple ?
Daniel

Bonjour,

j'ai un fichier dans lequel j'importe des données externes dans les
colonnes A à Y

Dans les colonnes AA à AK, il y a des formules que j'aimerais copier sur
les lignes, seulement si la colonne A n'est pas vide.

Dans la colonne A, j'ai déjà fait une macro enlevant les lignes vides,
alors il n'y en a plus.

Merci à l'avance









Avatar
Stef
Rebonjour,

j'ai essayé at macro, mais ça ne fonctionne pas correctement, car ça ne
copie pas la formule, mais bien la valeur de la première ligne. Est-ce que
l'on peut modifié la fonction de copie pour qu'elle copie la formule et non
la valeur ?

Merci

"Daniel.C" a écrit :

Essaie la macro suivante. Elle recopie les cellules de la ligne 1 :

Sub Recopie()
Dim c As Range, Col As Integer
For Each c In Range([A1], [A65536].End(xlUp))
If c <> "" Then
For Col = 27 To 37
Cells(c.Row, Col) = Cells(1, Col)
Next Col
End If
Next c
End Sub

Daniel

> Exemple:
>
> A B .... Y AA AB
> .. AK
> Nom Date .... Coût Formule1 Formule2 Formule 3
> 1
> 2
> 3
> 4
> ...
> 786
>
> Le fait est que je ne veux pas qu'il y ai de formule s'il n'y a pas de
> valeur dans la colonne A. Car dans la colonne A, à chaque fois que je remet
> le fichier à jour (car les colonnes A à Y proviennent d'une base de données)
> il y a des lignes qui s'ajoutent et je ne veux pas être obligé d'aller copier
> les formules manuellement à chaque fois.
>
> Merci
>
>
>
> "Daniel.C" a écrit :
>
>> Bonsoir.
>> J'ai du mal à visualiser le pb. Est-ce que tu peux donner un exemple ?
>> Daniel
>>
>>> Bonjour,
>>>
>>> j'ai un fichier dans lequel j'importe des données externes dans les
>>> colonnes A à Y
>>>
>>> Dans les colonnes AA à AK, il y a des formules que j'aimerais copier sur
>>> les lignes, seulement si la colonne A n'est pas vide.
>>>
>>> Dans la colonne A, j'ai déjà fait une macro enlevant les lignes vides,
>>> alors il n'y en a plus.
>>>
>>> Merci à l'avance
>>
>>
>>





Avatar
isabelle
bonjour Stef,

Sub Recopie()
Dim c As Range, Col As Integer
For Each c In Range([A1], [A65536].End(xlUp))
If c <> "" Then
For Col = 27 To 37
Cells(c.Row, Col) = Cells(1, Col) .Formula
Next Col
End If
Next c
End Sub

isabelle

Stef a écrit :
Rebonjour,

j'ai essayé at macro, mais ça ne fonctionne pas correctement, car ça ne
copie pas la formule, mais bien la valeur de la première ligne. Est-ce que
l'on peut modifié la fonction de copie pour qu'elle copie la formule et non
la valeur ?

Merci

"Daniel.C" a écrit :


Essaie la macro suivante. Elle recopie les cellules de la ligne 1 :

Sub Recopie()
Dim c As Range, Col As Integer
For Each c In Range([A1], [A65536].End(xlUp))
If c <> "" Then
For Col = 27 To 37
Cells(c.Row, Col) = Cells(1, Col)
Next Col
End If
Next c
End Sub

Daniel


Exemple:

A B .... Y AA AB
.. AK
Nom Date .... Coût Formule1 Formule2 Formule 3
1
2
3
4
...
786

Le fait est que je ne veux pas qu'il y ai de formule s'il n'y a pas de
valeur dans la colonne A. Car dans la colonne A, à chaque fois que je remet
le fichier à jour (car les colonnes A à Y proviennent d'une base de données)
il y a des lignes qui s'ajoutent et je ne veux pas être obligé d'aller copier
les formules manuellement à chaque fois.

Merci



"Daniel.C" a écrit :


Bonsoir.
J'ai du mal à visualiser le pb. Est-ce que tu peux donner un exemple ?
Daniel


Bonjour,

j'ai un fichier dans lequel j'importe des données externes dans les
colonnes A à Y

Dans les colonnes AA à AK, il y a des formules que j'aimerais copier sur
les lignes, seulement si la colonne A n'est pas vide.

Dans la colonne A, j'ai déjà fait une macro enlevant les lignes vides,
alors il n'y en a plus.

Merci à l'avance















Avatar
Daniel.C
Sub Recopie()
Dim c As Range, Col As Integer
For Each c In Range([A1], [A65536].End(xlUp))
If c <> "" Then
For Col = 27 To 37
Cells(c.Row, Col).Formula = Cells(1, Col).Formula
Next Col
End If
Next c
End Sub
Daniel

Rebonjour,

j'ai essayé at macro, mais ça ne fonctionne pas correctement, car ça ne
copie pas la formule, mais bien la valeur de la première ligne. Est-ce que
l'on peut modifié la fonction de copie pour qu'elle copie la formule et non
la valeur ?

Merci

"Daniel.C" a écrit :

Essaie la macro suivante. Elle recopie les cellules de la ligne 1 :

Sub Recopie()
Dim c As Range, Col As Integer
For Each c In Range([A1], [A65536].End(xlUp))
If c <> "" Then
For Col = 27 To 37
Cells(c.Row, Col) = Cells(1, Col)
Next Col
End If
Next c
End Sub

Daniel

Exemple:

A B .... Y AA AB
.. AK
Nom Date .... Coût Formule1 Formule2 Formule
3 1
2
3
4
...
786

Le fait est que je ne veux pas qu'il y ai de formule s'il n'y a pas de
valeur dans la colonne A. Car dans la colonne A, à chaque fois que je remet
le fichier à jour (car les colonnes A à Y proviennent d'une base de
données) il y a des lignes qui s'ajoutent et je ne veux pas être obligé
d'aller copier les formules manuellement à chaque fois.

Merci



"Daniel.C" a écrit :

Bonsoir.
J'ai du mal à visualiser le pb. Est-ce que tu peux donner un exemple ?
Daniel

Bonjour,

j'ai un fichier dans lequel j'importe des données externes dans les
colonnes A à Y

Dans les colonnes AA à AK, il y a des formules que j'aimerais copier sur
les lignes, seulement si la colonne A n'est pas vide.

Dans la colonne A, j'ai déjà fait une macro enlevant les lignes vides,
alors il n'y en a plus.

Merci à l'avance
















Avatar
Daniel.C
ou, si tu veux que la formule évolue :
Sub Recopie()
Dim c As Range, Col As Integer
For Each c In Range([A1], [A65536].End(xlUp))
If c <> "" Then
For Col = 27 To 37
Cells(c.Row, Col).Formula = Cells(1, Col).FormulaR1C1
Next Col
End If
Next c
End Sub
Daniel

Sub Recopie()
Dim c As Range, Col As Integer
For Each c In Range([A1], [A65536].End(xlUp))
If c <> "" Then
For Col = 27 To 37
Cells(c.Row, Col).Formula = Cells(1, Col).Formula
Next Col
End If
Next c
End Sub
Daniel

Rebonjour,

j'ai essayé at macro, mais ça ne fonctionne pas correctement, car ça ne
copie pas la formule, mais bien la valeur de la première ligne. Est-ce que
l'on peut modifié la fonction de copie pour qu'elle copie la formule et non
la valeur ?

Merci

"Daniel.C" a écrit :

Essaie la macro suivante. Elle recopie les cellules de la ligne 1 :

Sub Recopie()
Dim c As Range, Col As Integer
For Each c In Range([A1], [A65536].End(xlUp))
If c <> "" Then
For Col = 27 To 37
Cells(c.Row, Col) = Cells(1, Col)
Next Col
End If
Next c
End Sub

Daniel

Exemple:

A B .... Y AA AB
.. AK
Nom Date .... Coût Formule1 Formule2
Formule 3 1
2
3
4
...
786

Le fait est que je ne veux pas qu'il y ai de formule s'il n'y a pas de
valeur dans la colonne A. Car dans la colonne A, à chaque fois que je
remet le fichier à jour (car les colonnes A à Y proviennent d'une base de
données) il y a des lignes qui s'ajoutent et je ne veux pas être obligé
d'aller copier les formules manuellement à chaque fois.

Merci



"Daniel.C" a écrit :

Bonsoir.
J'ai du mal à visualiser le pb. Est-ce que tu peux donner un exemple ?
Daniel

Bonjour,

j'ai un fichier dans lequel j'importe des données externes dans les
colonnes A à Y

Dans les colonnes AA à AK, il y a des formules que j'aimerais copier
sur les lignes, seulement si la colonne A n'est pas vide.

Dans la colonne A, j'ai déjà fait une macro enlevant les lignes vides,
alors il n'y en a plus.

Merci à l'avance

















Avatar
Stef
Merci, c'est exactement ce que j'avais de besoin !!!

"Daniel.C" a écrit :

ou, si tu veux que la formule évolue :
Sub Recopie()
Dim c As Range, Col As Integer
For Each c In Range([A1], [A65536].End(xlUp))
If c <> "" Then
For Col = 27 To 37
Cells(c.Row, Col).Formula = Cells(1, Col).FormulaR1C1
Next Col
End If
Next c
End Sub
Daniel

> Sub Recopie()
> Dim c As Range, Col As Integer
> For Each c In Range([A1], [A65536].End(xlUp))
> If c <> "" Then
> For Col = 27 To 37
> Cells(c.Row, Col).Formula = Cells(1, Col).Formula
> Next Col
> End If
> Next c
> End Sub
> Daniel
>
>> Rebonjour,
>>
>> j'ai essayé at macro, mais ça ne fonctionne pas correctement, car ça ne
>> copie pas la formule, mais bien la valeur de la première ligne. Est-ce que
>> l'on peut modifié la fonction de copie pour qu'elle copie la formule et non
>> la valeur ?
>>
>> Merci
>>
>> "Daniel.C" a écrit :
>>
>>> Essaie la macro suivante. Elle recopie les cellules de la ligne 1 :
>>>
>>> Sub Recopie()
>>> Dim c As Range, Col As Integer
>>> For Each c In Range([A1], [A65536].End(xlUp))
>>> If c <> "" Then
>>> For Col = 27 To 37
>>> Cells(c.Row, Col) = Cells(1, Col)
>>> Next Col
>>> End If
>>> Next c
>>> End Sub
>>>
>>> Daniel
>>>
>>>> Exemple:
>>>>
>>>> A B .... Y AA AB
>>>> .. AK
>>>> Nom Date .... Coût Formule1 Formule2
>>>> Formule 3 1
>>>> 2
>>>> 3
>>>> 4
>>>> ...
>>>> 786
>>>>
>>>> Le fait est que je ne veux pas qu'il y ai de formule s'il n'y a pas de
>>>> valeur dans la colonne A. Car dans la colonne A, à chaque fois que je
>>>> remet le fichier à jour (car les colonnes A à Y proviennent d'une base de
>>>> données) il y a des lignes qui s'ajoutent et je ne veux pas être obligé
>>>> d'aller copier les formules manuellement à chaque fois.
>>>>
>>>> Merci
>>>>
>>>>
>>>>
>>>> "Daniel.C" a écrit :
>>>>
>>>>> Bonsoir.
>>>>> J'ai du mal à visualiser le pb. Est-ce que tu peux donner un exemple ?
>>>>> Daniel
>>>>>
>>>>>> Bonjour,
>>>>>>
>>>>>> j'ai un fichier dans lequel j'importe des données externes dans les
>>>>>> colonnes A à Y
>>>>>>
>>>>>> Dans les colonnes AA à AK, il y a des formules que j'aimerais copier
>>>>>> sur les lignes, seulement si la colonne A n'est pas vide.
>>>>>>
>>>>>> Dans la colonne A, j'ai déjà fait une macro enlevant les lignes vides,
>>>>>> alors il n'y en a plus.
>>>>>>
>>>>>> Merci à l'avance
>>>>>
>>>>>
>>>>>
>>>
>>>