Convertir un format .xls en format sans extension

Bonjour,

Je solicite votre aide pour un probleme qui me semblait assez simple mais sur lequel je rencontre des difficultees.

Lorsque j enregistre mon fichier sans extension (que je supprime le ".xls") quand j'ouvre mon nouveau fichier sous NotePad par exemple, entre chaque colonne je retrouve des tabulations en plus.

Pqr exemple, j'aurai souhaite que si

A1 = M

B1 = E

C1 = R

D1 = C

E1 = I

Je retrouve dans mon nouveau format "MERCI" et non "M E R C I"

Je rencontre egalement un deuxieme probleme. C'est que j'avais place des cellules vides pour remplacer les espaces lors de ma convertion. Seulement pour que cela fonctionne il faut que je place des espaces dans chacunes de mes cellules vides pour qu'il retranscrive un espace dans mon nouveau format.

Exemple

A1 = M

B1 = cellule vide

C1 = E

nouveau format = ME

A1 = M

B1= espace

C1= E

nouveau format = M E (ce que je souhaite obtenir)

Je souhaiterai donc avoir une macro qui me remplace toute les cellules vides comprises entre C3:CX403 par un espace.

J' ai essaye avec la formule IF(A1=0,SPACE) mais ca ne fonctionne pas.

Merci d avance de votre aide et bonne journee a tous

Salut,

un fichier sans extension ? Quel intérêt ?

Essaye plutôt un recherche/remplace ce sera plus simple qu'une macro ...

C est un type de fichier que lit une machine.

Mon fichier est un programme qu elle doit suivre.

j ai essaye avec

Const plage = "C3:CX403"

Public Sub Espace()
Dim cel As Range
For Each cel In Range(plage)
  If cel.Value = "" Then cel.Value = " "
Next cel
End Sub

mais il aime pas le If cel.Value= ""

Salut,

chez moi ça fonctionne mais pourquoi veux tu une macro ?

Sinon essaye par la négation,

If cel.value <> "" then
else
cel.value = " "
end if

Bonjour,

merci de ton aide,

il me dit que "If cel.value <>" est "invalide outside procedure"...

Je souhaite une macro car a la base j'ai une autre macro qui me fait des calcules et les cellules vides varient en fonction du resultat de cette precedente macro...

et si tu essaye avec ça :

Selection.Replace What:="", Replacement:=" ", LookAt:=xlPart, _
        SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
        ReplaceFormat:=False

ca ne m affiche plus d erreur mais ca ne me fait rien.

Merci de ton aide en tout cas


ca ne m affiche plus d erreur mais ca ne me fait rien.

Merci de ton aide en tout cas

c'est que tes cellules ne sont pas vide.

Le message d'erreur de ta première cellule était du à cela, et maintenant il ne trouve pas de cellule vide donc il ne remplace rien.

En faite mes cellules ne sont pas vide non il y a une formule dedans qui leurs dit copier coller des infos d une autre feuille mais parfois les cellules de l autre feuilles sont vides du coup sur la feuille en question il y a la formule mais rien dedans.

J avais oublie de precise ca desole...

Bonjour,

Une formule, ce n'est pas "rien".

Et "", ce n'est pas "rien", non plus.

Essaye peut être avec ça :

Resultat = Application.Evaluate("A1+B1")

Bonjour,

J ai trouve une solution pour mon probleme de tabulation. J utilise la formule concatenate pour tout mettre dans une seule cellule et j utilise le format "$" pour qu'il contabilise les espaces lors de la concatenation (je suis pas sur que ca soit francais).

Merci beaucoup de votre aide en tout cas et desole pour mon explication j ai essaye de faire au mieux...

Il me reste cependant mon autre probleme.

Je dois me debrouiller pour que toutes les valeurs entre C3:BI400 dont le resultat de la formule est vide obtienne la valeur espace.

Pour illustrer mon probleme,

  • j;ai plusieurs informations a faire retranscrire (nom de la piece, sa description, sa longueur, ect...)
  • A chaqu une de ses informations est attribue un nombre de caractere pour qui est fonction de la machine sur laquelle doit aller le programme de facon a se qu elle sache quand on va passer a l information suivante. (15 pour le nom de la piece, 30 pour sa description ect...) Il est donc possible d avoir des champs vides.
  • L idee est donc d attribuer a chaque lettre de l information a retranscrire un nombre de cellule en fonction de ca.
  • Dans chaque cellules de C3:BI402 il y a une formule du style

pour C3 =MID(SectionInfo!$C2,1,1)

pour C4 =MID(SectionInfo!$C2,2,1)

pour C5 =MID(SectionInfo!$C2,3,1)

et ainsi de suite. La par exemple je recopie le nom de la piece ETC157N lettre par lettre dans chaque cellule. Il y a donc 7 caractere et 8 cellules vides pour cette exemple.

- L idee est donc de faire une macro qui une fois toutes les formules "MID" applique agissent sur toutes les cellules C3:BI400 et fasse une boucle :

Si resultat de la formule = rien

alors mettre espace

Quelque chose comme ca, sauf que je suis pas bon en VBA et que je ne sais pas faire.

J espere avoir ete un peu plus claire... j avoue que l explication n est pas mon point fort je m en excuse d avance.

Encore merci et bonne journee

Rechercher des sujets similaires à "convertir format xls extension"