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

  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  Export Feuille Excel en valeur avec cellule fusionnées

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Export Feuille Excel en valeur avec cellule fusionnées

n°2173275
MATAMATA
Posté le 30-01-2013 à 11:36:01  profilanswer
 

Bonjour,
 
je recherche à faire une macro pour extraire d'un fichier excel quelques feuilles en valeur afin d'obtenir un extrait du fichier originel.
 
Classeur 1 composé de 4 feuilles
Extrait de la feuille 1 en valeur dans un nouveau classeur Excel idéalement nommé avec la valeur de la case "C1"

 
Je rencontre des difficultés avec 3 choses :
 

  • Ma feuille 1 contient des données filtrés je souhaite que l'extrait ne contiennent que les données affichés
  • Ma feuille 1 contient des mise en page comme des cellules fusionnées, hors la copie de cellule fusionnées semble impossible.
  • Ma feuille 1 dispose d'un celulle "C1" titre basé sur la concaténation de texte ainsi que du nom du filtre appliqué sur ma feuille (récupérer par formule)


Ma formule pour C1 :
 

Citation :

"VAGUE "&(RIGHT(AutoFilter_Criteria(A7);(LEN(AutoFilter_Criteria(A7))-FIND("=";AutoFilter_Criteria(A7)))))&" du "&TEXT(VLOOKUP((RIGHT(AutoFilter_Criteria(A7);(LEN(AutoFilter_Criteria(A7))-FIND("=";AutoFilter_Criteria(A7)))));Créneaux!A2:B20;2;FALSE);"[$-40C]jjjj j mmmm aaaa" )


 
Cette fonction m'affiche "Vague " suivi du nom de filtre de la colonne A contenue dans A7, obtenue par macro (code ci dessous) ainsi que la Date de la Vague correspondant au filtre contenue dans un tableau en feuille "Créneaux"
 
Exemple C1 : VAGUE 3 du dimanche 3 février 2013
 
Code Autofilter :
 

Code :
  1. Function AutoFilter_Criteria(Header As Range) As String
  2. Dim strCri1 As String, strCri2 As String
  3.     Application.Volatile
  4.     With Header.Parent.AutoFilter
  5.         With .Filters(Header.Column - .Range.Column + 1)
  6.             If Not .On Then Exit Function
  7.                 strCri1 = .Criteria1
  8.             If .Operator = xlAnd Then
  9.                 strCri2 = " ET " & .Criteria2
  10.             ElseIf .Operator = xlOr Then
  11.                 strCri2 = " OU " & .Criteria2
  12.             End If
  13.         End With
  14.     End With
  15.     AutoFilter_Criteria = UCase(Header) & ": " & strCri1 & strCri2
  16.      End Function


 
 
Et mon code qui ne fonctionne pas pour exporter en valeur la feuille 1 :
 
 

Code :
  1. Sub SaveSheet()
  2.     ActiveSheet.Copy
  3.     With ActiveSheet.UsedRange
  4.         .Copy
  5.         .PasteSpecial xlValues
  6.         .PasteSpecial xlFormats
  7.     End With
  8.     Application.CutCopyMode = False
  9.     Dim DTAddress As String
  10.     DTAddress = CreateObject("WScript.Shell" ).SpecialFolders("Desktop" ) & Application.PathSeparator
  11.     ActiveWorkbook.SaveAs DTAddress & Range("C1" ) & " " & Format(Date, "mmmmddyyyy" ) & " " & Format(Time, "HHMM" ), FileFormat:= _
  12.     xlNormal
  13. End Sub


 
 
L'erreur est la suivante : Run-time error '1004': Cannot change part of a merge cell.
 
 
Récapitulation du point qui ne bloque : La copie des cellules fusionnées
 
En vous remerciant par avance de toutes remarques ou aide.
 
Cdt,


Message édité par MATAMATA le 30-01-2013 à 11:37:49
mood
Publicité
Posté le 30-01-2013 à 11:36:01  profilanswer
 

n°2173352
sh_kyra
Entre nous c'est Kyra
Posté le 30-01-2013 à 15:56:58  profilanswer
 

Malheureusement la seule solution pour ça c'est de faire le Merge APRES la copie.
 
Je sais, c'est chiant :D

n°2173369
MATAMATA
Posté le 30-01-2013 à 16:52:45  profilanswer
 

Rhooooooo  :o  
 
Admettons que je vire TOUTES les cellules fusionnées.  
 
J'ai tout de même un message d'erreur sur ma macro SaveSheet :
 

Citation :

"The information cannot be pasted because the Copy area and the paste area are not the same shape. Try one of the following :
 
*click a single cell, and then paste.
*select a rectangle that's the same size and shape, and then paste.


 
Je pense que cela viens du filtre actif sur ma feuille. Une idée pour sauvegarder cette feuille 1 avec données en valeurs et le format sans messages d'erreur ?
 
 
Je précise que la feuille 1 est filtré sur un critère et ce qui m’intéresse c'est d'avoir un export uniquement des infos de ce dis critère.
 

Code :
  1. Exemple :
  2. Feuille 1
  3. Filtre dynamique      |   info
  4. A                          |     toto       
  5. B                          |     tata 
  6. C                          |     tutu 
  7. D                          |     titi 
  8. A                          |     toto1 
  9. B                          |     toto2 
  10. C                          |     toto3
  11. D                          |     toto4   
  12. je filtre sur A et utilise ma macro pour obtenir une feuille contenant uniquement :
  13. A                          |     toto   
  14. A                          |     toto1


 
 


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

  Export Feuille Excel en valeur avec cellule fusionnées

 

Sujets relatifs
Création d'une action en VBA Excel - Besoin d'aidelien vers un fichier d'une partition sur un serveur
format de fichiercouleur tableau fct result valeur colonne csv
Aide pour Macro ExcelTri sur plusieurs feuilles
Programme de tri de fichierGénérateur de chiffres à la suite d'une formule
Hyper lien pour éditer un fichier parmi plusieursComment inscrire des variables dans un fichier PHP ? (fwrite)
Plus de sujets relatifs à : Export Feuille Excel en valeur avec cellule fusionnées


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