Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2940 connectés 

  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  [VB] [EXCEL] Copier cellules -> RESOLU

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[VB] [EXCEL] Copier cellules -> RESOLU

n°1715115
sixroses
Posté le 09-04-2008 à 16:15:14  profilanswer
 

Bonjour,
 
Je travaille sous excel 2003 et je programme en Visual Basic.
 
J'ai un problème en copiant les données d'une feuille excel.  
En fait, je copie une zone de cellules (avec range) d'une feuille excel ouverte sous une application et je la met dans une autre feuille ouverte sous une autre application.
 
Le problème est que je lorsque je copie les données, les valeurs ne sont plus les mêmes dans le sens ou j'ai initialement -55.168 et je me retrouve avec -55168.  
 
Je ne pense pas que ce soit un problème de format de cellule (où j'ai déja réalisé beaucoup de test) mais c'est surtout car si je copie seulement le contenu d'une cellule et que je suis en mode debug (avancement du programme en pas à pas), je regarde le contenu de la cellule et il y a déja le probleme -> c'est a dire que j'ai -55168 au lieu de -55.168
 
Quelqu'un a t il une idée sur le problème ?
 
Cordialement,
 
PS : Je met le code que j'ai tapé met je ne pense pas que cela puisse vous aider car il est tout bete
 

Code :
  1. t1 = wbFichier.Sheets(1).Cells(40, "B" ).value
  2. wbResult.Worksheets("feuil1" ).Range("C4" ).Value = t1


Message édité par sixroses le 28-10-2010 à 10:38:58
mood
Publicité
Posté le 09-04-2008 à 16:15:14  profilanswer
 

n°1715211
babasss
Posté le 09-04-2008 à 17:58:59  profilanswer
 

Pourquoi ton séparateur d'unité est un point et pas une virgule comme c'est la norme en France ? Système anglais ?


---------------
Feedback : http://forum.hardware.fr/hfr/Achat [...] 2666_1.htm
n°1715406
sixroses
Posté le 10-04-2008 à 08:59:38  profilanswer
 

Autant pour moi, c'est bien une virgule.
 
Donc j'obtient 55168 au lieu de 55,168

n°1715412
babasss
Posté le 10-04-2008 à 09:16:09  profilanswer
 

Il faudrait que tu nous montres ton fichier excel, parce que ce n'est pas un fonctionnement logique ...


---------------
Feedback : http://forum.hardware.fr/hfr/Achat [...] 2666_1.htm
n°1715426
sixroses
Posté le 10-04-2008 à 09:42:45  profilanswer
 

Voila le code.  
 
J'ai utilisé le même code pour le reste de la page à traiter et cela fonctionne. La copie ne fonctionne pas sur certaines colonnes seulement, je ne comprends pas pourquoi.
 

Code :
  1. Set xlAux = New Excel.Application
  2.     Set wbFichier = xlAux.Workbooks.Open(nomFichier)
  3.     Set monXl = New Excel.Application
  4.     Set wbResult = monXl.Workbooks.Add       
  5. ' Ici j'initialise la forme de la feuille et le format, j'ai meme essayé d'autres
  6. ' format de cellules ou de ne pas en mettre mais cela ne change rien
  7.     With wbResult.Sheets("feuil1" ).Range("C14:IV24" )
  8.         .Interior.ColorIndex = 0
  9.         .Interior.Pattern = xlGray75
  10.         .Interior.PatternColorIndex = 36
  11.         .NumberFormat = "0.00E+00"
  12.     End With
  13.     With wbResult.Sheets("feuil1" ).Range("C25:IV65536" )
  14.         .Interior.ColorIndex = 0
  15.         .Interior.Pattern = xlGray50
  16.         .Interior.PatternColorIndex = 36
  17.         .NumberFormat = "0.00E+00"
  18.     End With
  19. nbAcq = 20
  20. 'copie des donnees
  21. zone = "B39:" & Chr(Asc("B" ) + 1) & (39 + nbAcq - 1)
  22. donnees = wbFichier.Sheets(1).Range(zone).Value
  23. 'collage des donnees
  24. zone = "C25:" & Chr(Asc("C" ) + 1) & (25 + nbAcq - 1)
  25. wbResult.Worksheets("feuil1" ).Range(zone).Value = donnees


 
Voila j'ai essayé de mettre les infos utiles...
 
Merci de ton aide..

n°1715433
babasss
Posté le 10-04-2008 à 10:05:46  profilanswer
 

sixroses a écrit :

Voila le code.  
J'ai utilisé le même code pour le reste de la page à traiter et cela fonctionne. La copie ne fonctionne pas sur certaines colonnes seulement, je ne comprends pas pourquoi.


Lesquels ? Que faut-il faire pour que ca ne marche pas ?
 


---------------
Feedback : http://forum.hardware.fr/hfr/Achat [...] 2666_1.htm
n°1715435
sixroses
Posté le 10-04-2008 à 10:12:26  profilanswer
 

Justement, je ne comprends pas pourquoi cela ne marche pas.
 
Comme tu as pu le voir, je défini une zone pour le "range(zone)" qui défini la plage des cellules dont je veux copier leurs valeurs.
 
Mais dans cette zone plusieurs colonnes ont leur valeurs qui change quand je les copie ensuite sur l'autre feuille. Elles sont comme étaient multipliées par 1000 puisque je n'ai plus la virgule. Alors que je ne touche pas au contenu, je ne fais que copier les données d'une feuille à l'autre.
 
Par exemple, il y a 3 colonnes de cette zone qui ont gardé leur bonnes valeurs et le reste ont été "multipliées par 1000" (je n'ai plus la virgule)

n°1715437
babasss
Posté le 10-04-2008 à 10:18:08  profilanswer
 

Je pense qu'il va falloir que tu le mettes en ligne pour que l'on puisse réellement voir le fichier...


---------------
Feedback : http://forum.hardware.fr/hfr/Achat [...] 2666_1.htm
n°1715477
sixroses
Posté le 10-04-2008 à 11:05:04  profilanswer
 

Quelqu'un a t il une idée ?  
 
Moi, de mon coté je n'ai toujours pas réussi à régler le problème
 


Message édité par sixroses le 14-04-2008 à 16:41:32
n°1733859
sixroses
Posté le 19-05-2008 à 16:51:59  profilanswer
 

RESOLU
 
Le problème était que le fichier que je copiais était en format ascii.
Meme si l'affichage de ce fichier était correct sous excel, lorsque je copiais les données, elles étaient alors erronées...surement un problème de transcription.
 
Il n'est donc pas possible de copier les données. Il faut d'abord les copier manuellement dans un nouveau fichier et les traiter avec celui-ci.


Message édité par sixroses le 19-05-2008 à 16:52:40

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  [VB] [EXCEL] Copier cellules -> RESOLU

 

Sujets relatifs
Cellules fusionnées dans un tableau de document Word[PHP][résolu] Include et global -- comportement étrange --
[Résolu][Struts] itération pour créer des liens + identifiants[VBA] Copier un fichier en mode "Valeur"
System.Runtime.InteropServices.COMException et Excel[Résolu][VBA] Ouvrir un fichier dans le même processus
[EXCEL] Problème RECHERCHEV dynamiqueProblème template template [RESOLU]
[résolu] signe opératoire contenu dans une variable ?[résolu]Incrémentation variable à chaque rechargement de la page
Plus de sujets relatifs à : [VB] [EXCEL] Copier cellules -> RESOLU


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR