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

recopie transposée (de formules)...

6 réponses
Avatar
j-pascal
Bonjour,

Exemple, dans la colonne B, j'ai :

B1 = A1
B2 = A2
B3 = A3
B4 = A4

Je sélectionne (B1:B4), je fais "copier" et je mets le curseur dans D1. Je
fais "coller/collage spécial" et je clique sur "transposé" pour avoir la
formule de B1 à B4 respectivement dans les cellules D1 à G1... Ca ne marche
pas !

En résumé : c'est facile de transposer des valeurs mais je n'arrive pas à le
faire pour des formules !

Pourriez-vous m'aider svp,

D'avance, merci,

JP

6 réponses

Avatar
JpPradier
Bonjour j-pascal

Pour que ca marche, il faut que tu sois en references absolues . Dans ta colonne B tu dois
avoir :

B1 = $A$1
B2 = $A$2
B3 = $A$3
B4 = $A$4

Ensuite Collage special et coche Transposé ET formule.

j-p
Avatar
j-pascal
Bonjour,

JpPradier wrote:
Bonjour j-pascal

Pour que ca marche, il faut que tu sois en references absolues . Dans
ta colonne B tu dois avoir :

B1 = $A$1
B2 = $A$2
B3 = $A$3
B4 = $A$4

Ensuite Collage special et coche Transposé ET formule.


Merci, ça marche ! Mais le pb c'est que si je me mets dans la cellule B1 et
que je fais une recopie (en tirant sur la petite croix en bas à gauche) sur
B2 etc, cela me crée des références relatives ! Pour avoir des références
absolues, il faut que je saisisse mes formules les une après les autres.
Question : peut-on convertir une colonne de formules relatives en formules
absolues ? Ex : j'ai B1, B2, B3... et je veux $B$1, $B$2, $B$3, etc

PS : en général, j'utilise la touche F4 pour modifier la formule, mais ça
marche que pour une seule cellule à la fois (?).

Merci,

JP

j-p


Avatar
JpPradier
Il me semble qu'il y a un moyen simple mais je ne l'ai plus en tete.

j-p
Avatar
michdenis
Bonjour J-Pascal,

Pour transformer les adresses relatives des formules d'une plage de cellules sélectionnées
en addresses absolues, il y a ceci :

'--------------------------
Sub test()

Dim c As Range
If TypeName(Selection) = "Range" Then
For Each c In Selection
If c.HasFormula Then
c.Formula = Application.ConvertFormula(c.Formula, xlA1, xlA1, xlAbsolute)
End If
Next
Else
MsgBox "La sélection ne représente pas un objet ""Range""."
End If

End Sub
'--------------------------


Salutations!



"j-pascal" a écrit dans le message de news:
Bonjour,

JpPradier wrote:
Bonjour j-pascal

Pour que ca marche, il faut que tu sois en references absolues . Dans
ta colonne B tu dois avoir :

B1 = $A$1
B2 = $A$2
B3 = $A$3
B4 = $A$4

Ensuite Collage special et coche Transposé ET formule.


Merci, ça marche ! Mais le pb c'est que si je me mets dans la cellule B1 et
que je fais une recopie (en tirant sur la petite croix en bas à gauche) sur
B2 etc, cela me crée des références relatives ! Pour avoir des références
absolues, il faut que je saisisse mes formules les une après les autres.
Question : peut-on convertir une colonne de formules relatives en formules
absolues ? Ex : j'ai B1, B2, B3... et je veux $B$1, $B$2, $B$3, etc

PS : en général, j'utilise la touche F4 pour modifier la formule, mais ça
marche que pour une seule cellule à la fois (?).

Merci,

JP

j-p


Avatar
j-pascal
Bonsoir michdenis,


Merci pour ton aide, mais on est obligé de passer par une macro ??

JP

PS : En réponse à ta question sur mon post "erreur 13 sur PC voisin..." je
t'ai répondu aujourd'hui :

J'ai vérifié les versions en question :

Mon PC = Excel 2002
Celui de mes collaborateurs : Excel 97

J'ai expliqué le pb au service informatique et j'ai demandé à ce qu'on
installe la même version d'excel que celle que j'utilise...
Penses-tu que le pb puisse venir de là bien que les références soient
néanmoins identiques sur les 2 PC ?


JP wrote:
Bonjour J-Pascal,

Pour transformer les adresses relatives des formules d'une plage de
cellules sélectionnées
en addresses absolues, il y a ceci :

'--------------------------
Sub test()

Dim c As Range
If TypeName(Selection) = "Range" Then
For Each c In Selection
If c.HasFormula Then
c.Formula = Application.ConvertFormula(c.Formula, xlA1,
xlA1, xlAbsolute) End If
Next
Else
MsgBox "La sélection ne représente pas un objet ""Range""."
End If

End Sub
'--------------------------


Salutations!



"j-pascal" a écrit dans le message de news:
Bonjour,

JpPradier wrote:
Bonjour j-pascal

Pour que ca marche, il faut que tu sois en references absolues . Dans
ta colonne B tu dois avoir :

B1 = $A$1
B2 = $A$2
B3 = $A$3
B4 = $A$4

Ensuite Collage special et coche Transposé ET formule.


Merci, ça marche ! Mais le pb c'est que si je me mets dans la cellule
B1 et
que je fais une recopie (en tirant sur la petite croix en bas à
gauche) sur
B2 etc, cela me crée des références relatives ! Pour avoir des
références
absolues, il faut que je saisisse mes formules les une après les
autres.
Question : peut-on convertir une colonne de formules relatives en
formules
absolues ? Ex : j'ai B1, B2, B3... et je veux $B$1, $B$2, $B$3, etc

PS : en général, j'utilise la touche F4 pour modifier la formule,
mais ça
marche que pour une seule cellule à la fois (?).

Merci,

JP

j-p




Avatar
michdenis
Bonjour J-Pascal,

Je sais qu'excel 97 a certaines particularités... mais je n'ai jamais eu l'occasion d'y
travaillé beaucoup. Je ne connais pas très bien cette version et je n'ai pas
vraiment envie de faire l'installation de cette version pour cette question !

Exemple d'une ligne de code qui ne passe pas sous Excel 97 et qui ne cause
aucun probleme pour excel 2000, 2002, 2003.

De mémoire, c'était quelque chose comme ceci : (à vérifier)
if Range("A1") <>"" and range("A1") > 25 then

Dans ta problématique, as-tu essayé ceci :

(Je ne me souviens plus de l'adresse exacte de ton cas)
If isnumeric(range("A5")) then
if range("A5") = 0 then


Je ne crois pas qu'il faille installer nécessairement une autre version d'excel
pour solutionner ce problème ... il faut seulement modifier la condition...

À cet effet, je ne suis pas d'une grande aide... je n'ai pas une version qui
me soit présentement accessible.


Salutations!





"j-pascal" a écrit dans le message de news: %
Bonsoir michdenis,


Merci pour ton aide, mais on est obligé de passer par une macro ??

JP

PS : En réponse à ta question sur mon post "erreur 13 sur PC voisin..." je
t'ai répondu aujourd'hui :

J'ai vérifié les versions en question :

Mon PC = Excel 2002
Celui de mes collaborateurs : Excel 97

J'ai expliqué le pb au service informatique et j'ai demandé à ce qu'on
installe la même version d'excel que celle que j'utilise...
Penses-tu que le pb puisse venir de là bien que les références soient
néanmoins identiques sur les 2 PC ?


JP wrote:
Bonjour J-Pascal,

Pour transformer les adresses relatives des formules d'une plage de
cellules sélectionnées
en addresses absolues, il y a ceci :

'--------------------------
Sub test()

Dim c As Range
If TypeName(Selection) = "Range" Then
For Each c In Selection
If c.HasFormula Then
c.Formula = Application.ConvertFormula(c.Formula, xlA1,
xlA1, xlAbsolute) End If
Next
Else
MsgBox "La sélection ne représente pas un objet ""Range""."
End If

End Sub
'--------------------------


Salutations!



"j-pascal" a écrit dans le message de news:
Bonjour,

JpPradier wrote:
Bonjour j-pascal

Pour que ca marche, il faut que tu sois en references absolues . Dans
ta colonne B tu dois avoir :

B1 = $A$1
B2 = $A$2
B3 = $A$3
B4 = $A$4

Ensuite Collage special et coche Transposé ET formule.


Merci, ça marche ! Mais le pb c'est que si je me mets dans la cellule
B1 et
que je fais une recopie (en tirant sur la petite croix en bas à
gauche) sur
B2 etc, cela me crée des références relatives ! Pour avoir des
références
absolues, il faut que je saisisse mes formules les une après les
autres.
Question : peut-on convertir une colonne de formules relatives en
formules
absolues ? Ex : j'ai B1, B2, B3... et je veux $B$1, $B$2, $B$3, etc

PS : en général, j'utilise la touche F4 pour modifier la formule,
mais ça
marche que pour une seule cellule à la fois (?).

Merci,

JP

j-p