Convertir données en automatique

alb05

XLDnaute Occasionnel
bonjour
j'ai récupéré un fichier exporté d'Access que je voudrai intégrer dans Excel.
Le problème est que toutes les colonnes sont préfixées de '
Comment faire pour m'éviter de passer par les options "Données" + "Convertir" pour chaque colonne ?
merci
 

Pièces jointes

  • à convertir.xls
    16.5 KB · Affichages: 152

bcharef

XLDnaute Accro
Re : Convertir données en automatique

Bonjour alb05,
Bonjour à toutes et à tous.

Si, j'ai bien compris.

Tapez 1 dans une cellule quelconque, puis copiez cette cellule, et procéder à un collage spécial sur la plage à convertir, et choisissez l'opération Multiplication.

Cordialement.

BCharef
 

phlaurent55

Nous a quittés en 2020
Repose en paix
Re : Convertir données en automatique

Bonjour à tous,

@ bcharef: je pense que ta solution fonctionnera uniquement pour les cellules qui peuvent être multipliées et qu'elle ne fonctionnera pas pour les cellules contenant du texte

une autre solution-------------------> faire une macro
ça fait une demi-heure que j'essaie et il me semble que le premier caractère n'est pas ( ' )apostrophe qui devrait avoir le code 39

à+
Philippe
 

Staple1600

XLDnaute Barbatruc
Re : Convertir données en automatique

Bonjour à tous


Tu as tort phlaurent55 :D


Code:
Sub Macro2()
Dim r As Range
With ActiveSheet
    Set r = .UsedRange
        With .[IV65536]
            .Value = 1
            .Copy
            r.PasteSpecial Paste:=xlAll, Operation:=xlMultiply, SkipBlanks:=False, Transpose:=False
            .Clear
        End With
End With
End Sub
 

JCGL

XLDnaute Barbatruc
Re : Convertir données en automatique

Bonjour à tous,

Peux-tu essayer avec :
Code:
Option Explicit

Sub Convertir()
    Feuil1.UsedRange.Copy
    Feuil2.Range("A1").PasteSpecial Paste:=xlPasteValues
    Application.CutCopyMode = False
    Range("A1").Select
End Sub

Les données sont copiées sur 'Feuil2' mais peuvent être rapatriées sur 'Feuil1'.

A+ à tous
 

alb05

XLDnaute Occasionnel
Re : Convertir données en automatique

Bonjour
pour le moment aucune des solutions ne convertie comme le fait l'option "convertir - données" du menu.
Les copy/paste utilisés ne prennent pas en compte le format :
exemple pour macro2 : la colonne E de la date
exemple pour convertir() : les colonnes numériques ne sont pas numériques
Par contre, les 2 méthodes suppriment bien le caractère ' de début de cellule.
 

Pièces jointes

  • à convertir 2.xls
    30 KB · Affichages: 109

mikeo

XLDnaute Occasionnel
Re : Convertir données en automatique

Bonjour,

J'ai appliqué la méthode de bcharef sur l'ensemble du document et je trouve que cela marche bien (20 secondes). Il y a juste à mettre la colonne D en format date (10 secondes). Où est le problème ?

M
 

JCGL

XLDnaute Barbatruc
Re : Convertir données en automatique

Bonjour à tous,

Si tu utilises le point comme séparateur, il faut remplacer les virgules par des points :

Code:
Option Explicit

Sub Convertir()
    Feuil1.UsedRange.Copy
    Feuil2.Range("A1").PasteSpecial Paste:=xlPasteValues
    Feuil2.UsedRange.Replace What:=",", Replacement:=".", LookAt:=xlPart
    Application.CutCopyMode = False
    Range("A1").Select
End Sub

A+ à tous
 

Staple1600

XLDnaute Barbatruc
Re : Convertir données en automatique

Bonjour

EDITION: car si on peut alors ceci fonctionne (pour les cellules "nombres" )
Code:
Sub convert_cell_chiffres()
Dim i As Long
For i = 1 To 50
Select Case i
Case 3, 6, 9 To 23, 29 To 38, 43 To 46
Columns(i).TextToColumns Destination:=Cells(1, i)
End Select
Next
End Sub
alb05
Tu nous disais
Comment faire pour m'éviter de passer par les options "Données" + "Convertir" pour chaque colonne ?
Aujourd'hui tu nous dis
pour le moment aucune des solutions ne convertie comme le fait l'option "convertir - données" du menu.
Alors on a le droit ou pas d'utiliser Données/Convertir ?:confused:

Ma macro fonctionne sauf comme le remarquait JCGL pour les colonnes R,X,AC
(donc on pouvait adapter le code pour ces colonnes spécifiques ...)
 
Dernière édition:

Staple1600

XLDnaute Barbatruc
Re : Convertir données en automatique

Re à tous et joyeuses et pluvieuse Paques

Avec cette macro tout est converti (je viens de tester )

Code:
Sub Convert_TOUT_OK_v3()
Dim i As Long
[IV65536] = 1
Application.ScreenUpdating = False
For i = 1 To 50
Select Case i
Case 3, 6, 9 To 23, 29 To 38, 43 To 46
Columns(i).TextToColumns Destination:=Cells(1, i)
Case 1, 2, 4, 7, 27, 28, 39 To 42, 47 To 50
With [IV65536]
    .Copy
    Range(Cells(1, i), Cells(65536, i).End(xlUp)).PasteSpecial xlAll, xlMultiply
End With
Case 5
Columns(i).TextToColumns Destination:=Cells(1, i), _
DataType:=xlDelimited, FieldInfo:=Array(1, 4)
End Select
Next
[IV65536].Clear
Application.CutCopyMode = False
Application.ScreenUpdating = True
End Sub
 
Dernière édition:

Discussions similaires

Statistiques des forums

Discussions
312 345
Messages
2 087 473
Membres
103 553
dernier inscrit
jhnm