rajout d'un apostrophe dans 200 lignes en 1 fois

gnimitz

XLDnaute Occasionnel
Bonjour à tous

Je désire afin d'afficher dans 1 seule colonne les formules d'un tableau, je dis bien 1 seule colonne (je connais CTRL-MAJ 2), donc en insérant un apostrophe dans ma cellule , elle se tranforme en format texte ok ca marche, mais je désire appliquer sur mes 200 lignes mon apostrophe comment faire ??

Un grand merci de vos réponse

avec une fonction si ?
=si(D2<>""; "'"D2;"") ?

SI D2 EST DIFFéRENT DE RIEN RAJOUTE UN APOSTROPHE DANS LA CELLULE ?
cela ne marche pas

gnimitz
 

Gorfael

XLDnaute Barbatruc
Re : rajout d'un apostrophe dans 200 lignes en 1 fois

Salut gnimitz et le forum
Avec une macro peut-être :
Code:
Sub test()
Dim Cel As Range, Plage As Range

Set Plage = Range(Cells(2, "D"), Cells(Rows.Count, "D").End(xlUp))

For Each Cel In Plage
    If Left(Cel.Formula, 1) = "=" Then Cel.Formula = "'" & Cel.Formula
Next Cel
End Sub
J'ai supposé que tu commençais en D2, et jusqu'à la denière ligne non-vide en D.

Si tu n'y connais rien en macro :
Menu Outils>>Macro>>Nouvelle macro
tu valides et tu l'arrêtes
Menu Outils>>Macro>>Macros => tu cliques sur modifier
en étant sous VBE, tu peux effacer la macro que tu viens de créer et y coller celle de ce poste.
Menu Outils>>Macro>>Macros => tu lances la macro test, soit avec Pas-à-pas, soit avec exécuter.

J'ai fait simple : on change les formules en texte en rajotant {'} devant les formules commençant par {=}
A+
 

Staple1600

XLDnaute Barbatruc
Re : rajout d'un apostrophe dans 200 lignes en 1 fois

Bonsoir à tous


Dans le même style que Gorfael (que je salue)


Code:
Sub Macro1()
Dim cf As Range, c As Range
Set cf = Range([D1], [D6556].End(xlUp)).SpecialCells(xlCellTypeFormulas, 23)
For Each c In cf
c.Formula = "'" & c.FormulaLocal
Next c
End Sub
 
Dernière édition:

gnimitz

XLDnaute Occasionnel
Re : rajout d'un apostrophe dans 200 lignes en 1 fois

Bonsoir,

Du grand Art...parfait, merci

PS
la preuve que j'ai été clair, tu as compris mon post...

Une bonne soirée
Mike



Salut gnimitz et le forum
Avec une macro peut-être :
Code:
Sub test()
Dim Cel As Range, Plage As Range

Set Plage = Range(Cells(2, "D"), Cells(Rows.Count, "D").End(xlUp))

For Each Cel In Plage
    If Left(Cel.Formula, 1) = "=" Then Cel.Formula = "'" & Cel.Formula
Next Cel
End Sub
J'ai supposé que tu commençais en D2, et jusqu'à la denière ligne non-vide en D.

Si tu n'y connais rien en macro :
Menu Outils>>Macro>>Nouvelle macro
tu valides et tu l'arrêtes
Menu Outils>>Macro>>Macros => tu cliques sur modifier
en étant sous VBE, tu peux effacer la macro que tu viens de créer et y coller celle de ce poste.
Menu Outils>>Macro>>Macros => tu lances la macro test, soit avec Pas-à-pas, soit avec exécuter.

J'ai fait simple : on change les formules en texte en rajotant {'} devant les formules commençant par {=}
A+
 

Discussions similaires

Statistiques des forums

Discussions
312 506
Messages
2 089 119
Membres
104 037
dernier inscrit
damsau