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

  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  [VBA / Excel] Aide sur une macro a programmer

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[VBA / Excel] Aide sur une macro a programmer

n°1750626
krokoh
Posté le 24-06-2008 à 13:33:23  profilanswer
 

Bonjour, je suis en train de réaliser une macro pour le traitement de donnes contenues dans un fichier *.csv
 
Le but de la macro est a partir d'un fichier brut *.csv, trier et garder les donnes (les lignes en l'occurence) qui nous interessent et supprimer les autres.
 
Dans le paquet de lignes qui m'intéressent, certaines doivent être exportées dans un fichier excel et d'autres dans d'autres fichiers excel selon un critere bien défini.
 
j'ai déjà commence a travailler dessus et ça donne ça
 

Code :
  1. Sub Macro1()
  2. '
  3. ' Sorting macro for Bent Blade Detector
  4. '
  5. ' Created the 23/6/2008 - PA NICOLAS
  6. '
  7. 'Start text to Column script
  8.     Columns("A:A" ).Select
  9.     Selection.TextToColumns Destination:=Range("A1" ), DataType:=xlDelimited, _
  10.         TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=True, _
  11.         Semicolon:=True, Comma:=False, Space:=False, Other:=False, FieldInfo _
  12.         :=Array(Array(1, 1), Array(2, 1), Array(3, 1), Array(4, 1), Array(5, 1), Array(6, 1), _
  13.         Array(7, 1), Array(8, 1), Array(9, 1), Array(10, 1), Array(11, 1), Array(12, 1), Array(13, 1 _
  14.         ), Array(14, 1), Array(15, 1), Array(16, 1), Array(17, 1), Array(18, 1), Array(19, 1), Array _
  15.         (20, 1), Array(21, 1), Array(22, 1), Array(23, 1), Array(24, 1), Array(25, 1), Array(26, 1), _
  16.         Array(27, 1), Array(28, 1), Array(29, 1), Array(30, 1), Array(31, 1), Array(32, 1), Array( _
  17.         33, 1), Array(34, 1), Array(35, 1), Array(36, 1), Array(37, 1), Array(38, 1), Array(39, 1), _
  18.         Array(40, 1), Array(41, 1), Array(42, 1), Array(43, 1), Array(44, 1), Array(45, 1), Array( _
  19.         46, 1), Array(47, 1), Array(48, 1), Array(49, 1), Array(50, 1)), TrailingMinusNumbers _
  20.         :=True
  21. 'Script done
  22.        
  23. 'Writing min, max and range in column after bent blades values column and writing formulas of min max and range in the first cells
  24.     Range("AY1" ).Select
  25.     ActiveCell.FormulaR1C1 = "min"
  26.     Range("AZ1" ).Select
  27.     ActiveCell.FormulaR1C1 = "max"
  28.     Range("BA1" ).Select
  29.     ActiveCell.FormulaR1C1 = "range"
  30.     Range("AY2" ).Select
  31.     ActiveCell.FormulaR1C1 = "=MIN(RC[-3]:RC[-1])"
  32.     Range("AZ2" ).Select
  33.     ActiveCell.FormulaR1C1 = "=MAX(RC[-4]:RC[-2])"
  34.     Range("BA2" ).Select
  35.     ActiveCell.FormulaR1C1 = "=RC[-1]-RC[-2]"
  36.    
  37. 'Calculating the number of rows
  38.     Dim rows_number As Integer
  39.     rows_number = "=COUNT("AY:AY" )" + 1
  40.    
  41. 'integrating the number in the string
  42.     Dim rows_max As String
  43.     rows_max = BA2 & rows_number
  44.    
  45. 'copy operation
  46.     Range("AY2:BA2" ).Select
  47.     Selection.Copy
  48.    
  49. 'paste operation
  50.     Range("AY3:rows_max" ).Select
  51.     ActiveSheet.Paste
  52.    
  53. End Sub


 
 
Première chose dont j'ai besoin, c'est trouver le nombre de lignes présentes dans le fichier excel. pour cela je pensais faire un bête count d'une colonne en particulier. Je souhaite récupérer ce nombre pour ensuite réaliser un copy paste de trois cellules qui sont situes sur la première ligne jusqu'à la dernière ligne présente dans le fichier excel. Seulement ça a pas l'air de fonctionner aussi simplement que je le pensais...
 
Deuxième chose, j'ai besoin de réaliser un tri sur une colonne en particulier.Celle-ci contient des valeurs du genre "735475-2", ou bien "487596-6",...
je ne dois garder que les lignes possédant dans cette colonne une valeur qui m'intéresse (la liste de ces valeurs en question pourrait être un tableau en fait avec les valeurs indiquées dans le tableau) et "dropper" les autres lignes qui ne m'intéressent pas.
 
3eme chose. On a donc un fichier excel avec un ensemble de lignes qui m'intéressent. Maintenant je dois grouper ces lignes selon un critère bien défini ( en l'occurrence toutes les lignes qui ont la même valeur dans une colonne donnée) et les sauver dans un fichier excel.  
 
Par exemple on a un groupe de lignes avec une valeur x dans la colonne A un autre groupe de lignes avec la valeur y dans la colonne A et ainsi de suite. Il faut exporter chaque différent groupe de ligne dans un fichier excel séparé. Un groupe = un fichier excel.
 
Ensuite je dois dans ces groupes de lignes et dans certaines colonnes, "dropper" certaines valeurs.
 
Le mieux serait en fait que je montre la manip de traitement des données en live mais c'est un peu dur a réaliser au boulot...
 
la macro est pas facile a réaliser, j'ai des bases en programmation, en C, mais queue dalle en visual basic pour excel et je suis pas un uber expert non plus...
Si vous avez des idees ou pouvez m'aider  :jap:  
 


---------------
"Fire, exclamation mark. Fire, exclamation mark. Help me, exclamation mark. Looking forward to hearing from you. All the best, Maurice Moss."
mood
Publicité
Posté le 24-06-2008 à 13:33:23  profilanswer
 

n°1751067
krokoh
Posté le 25-06-2008 à 12:29:51  profilanswer
 

up


---------------
"Fire, exclamation mark. Fire, exclamation mark. Help me, exclamation mark. Looking forward to hearing from you. All the best, Maurice Moss."

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

  [VBA / Excel] Aide sur une macro a programmer

 

Sujets relatifs
Erreur 1004 sur macro[VBA] [Résolu] Comment récupérer la formule d'une cellule ??
Parcourir des dossiers et sous-dossiers en VBAVBA Excel Supprimer des lignesl
[vba/excel] filtrage d'un numeroDemande d'aide pour programmation en C
aide pour recuperation donnée via explode mysqlVBA : remplacer tous les 0 d'une feuille excel
Plus de sujets relatifs à : [VBA / Excel] Aide sur une macro a programmer


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