rss
Rechercher : dans
Par : Pertinence Date Nom d'utilisateur
Statut : Non résolu

Vba : extraire style et polices identiques

Adam Pierson, le mardi 13 décembre 2005 à 16:55:16
Bonjour à tous,

Voilà, je travaille sur Excel en vba.

J'ai une feuille de calcul très longue avec des textes dans des styles ou polices différents.

Je souhaite, à l'aide d'une macro, récupérer tous ces textes de styles et polices identiques et les copier vers word.

Quelqu'un aurait il une idée ?

Peut être avec .SpecialCells(xlCellTypeSameFormatConditions)

D'avance merci
Répondre à Adam Pierson  Signaler ce message aux modérateurs Aller au dernier message

1


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Lupin, le mardi 13 décembre 2005 à 18:01:14
Slt,

Voici un début de code !

Sub LocaliseStyle()
'
    Dim Boucle, Limite As Integer
    
    Limite = Range("A1").End(xlDown).Row
    
    For Boucle = 1 To Limite
        
        With Cells(Boucle, 1).Font
            If ((.Name = "Arial") And (.Size = 10)) Then
                MsgBox "Boucle = " & Boucle & " -> Style et police trouvé"
                ' Copier vers un autre feuille
                ' ou copier directement dans word par vba
                ' utiliser l'enregistreur de macro pour
                ' obtenir la syntaxe des objets.
            End If
        End With
    
    Next Boucle
    
End Sub



Lupin
Répondre à Lupin

2


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Adam Pierson, le mardi 13 décembre 2005 à 18:14:50
Génial,

merci beaucoup.

Mais ton code s'arrête dès qu'une ligne est vide. Quelle paramètre dois je mettre dans limite pour qu'il aille plus bas et pas forcément qu'en colonne A ?

Désolé, mais je ne suis pas un pro du vba ;-)
Répondre à Adam Pierson

3


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Lupin, le mardi 13 décembre 2005 à 20:28:57
re:

Pour trouver la dernière ligne de la colonne A,
celle-ci est identifé par la lettre [A] de "A1"
Limite = Range("A1").End(xlDown).Row

Cette ligne ne sert qui si tu ignore à quel ligne
arrêter, et oui à la première celllule vide, il arrête.
*******************************************************************

Si tu veux valider les lignes de 10 à 100 indépendament
du contenu :

La ligne [ For Boucle = 1 To Limite ] deviendra [ For Boucle = 10 To 100 ]

Pour valider le style sur une cellule donnée, la ligne :

[ With Cells(Boucle, 1).Font ] défini quelle cellule !

Cells(Boucle,1) ->>> ou Boucle représente la ligne, et 1 la colonne.

Es-ce plus clair ainsi ?

Lupin
Répondre à Lupin

4


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Lupin, le mercredi 14 décembre 2005 à 05:08:23
re :

Voilà une approche différente !

1) Copier le code ci-dessous dans Excel
2) Lancer la macro [CreerBouton]
3) Sélectionner une plage contigu
4) Lancer le nouveau bouton
5) Sortie dans =>> "C:\Styles.doc"

Option Explicit
'
'Variables globale interne du module
Dim HWordApp As Variant
Dim hwdApp As Variant
Dim HCeDoc As Variant
'

Sub ExtraireStyle()

    'Définition de variables
    Dim Plage, Cellule As Range
    'Capture de la sélection
    Set Plage = ActiveWindow.RangeSelection
    Range("A1").Select
    'Pour chaque cellule de la plage
    Call OuvrirWord
    ActiveSheet.Select
    For Each Cellule In Plage
        Cellule.Select
        With Cellule.Font
            If ((.Name = "Arial") And (.Size = 10)) Then
                'MsgBox "Boucle = " & Boucle & " -> Style et police trouvé"
                Cellule.Copy
                HWordApp.Selection.Paste
            End If
        End With
    Next Cellule
    Application.CutCopyMode = False
    Call FermerWord
    
End Sub
'

Function OuvrirWord()
    'Config VBS
    On Error Resume Next
    Set HWordApp = GetObject(, "Word.Application")
    If Err.Number <> 0 Then
        Set HWordApp = CreateObject("Word.Application")
    End If
    Err.Clear ' Efface l'objet Err
    HWordApp.Visible = True
    Set HCeDoc = HWordApp.Documents.Add
    HCeDoc.Selection

End Function
'

Function FermerWord()

    HWordApp.ActiveDocument.SaveAs ("C:\Styles.doc")
    HWordApp.Quit
    Set HCeDoc = Nothing
    Set HWordApp = Nothing

End Function
'

Sub CreerBouton()
    
    Dim MonCtr As Object
    
    With Application
      .CommandBars.Add(Name:="Essai1").Visible = True
      Set MonCtr = .CommandBars("Essai1").Controls.Add(Type:=msoControlButton, ID:=2950, Before:=1)
    End With
    MonCtr.OnAction = "ExtraireStyle"

End Sub



Lupin
Répondre à Lupin

5


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Adam Pierson, le mercredi 14 décembre 2005 à 11:34:59
Super génial le code.

Merci beaucoup
Répondre à Adam Pierson

6


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
 Lupin, le mercredi 14 décembre 2005 à 14:11:39
re :

Tout le plaisirs est pour moi :-)

J'avais déjà piloté Excel et Access depuis l'extérieur, mais
pas Word, alors j'ai profité de la situation pour aprofondire
le sujet.

Voilà j'ai encore amélioré mon code :-)

Option Explicit
Option Private Module
'
'Variables globale interne du module
Dim HWordApp As Variant
Dim HCeDoc As Variant
'

Sub ExtraireStyle()

    'Définition de variables
    Dim Plage, Cellule As Range
    Dim Reponse As Boolean
    'Capture de la sélection
    Set Plage = ActiveWindow.RangeSelection
    Range("A1").Select
    Reponse = OuvrirWord
    If (Reponse) Then
        ActiveSheet.Select
        'Pour chaque cellule de la plage
        For Each Cellule In Plage
            'Sélectionne la cellule
            Cellule.Select
            With Cellule.Font
                If ((.Name = "Arial") And (.Size = 10)) Then
                    'MsgBox "Adresse de cellule = " & .Adress & " -> Style et police trouvé"
                    'Copie le contenu dans le presse-papier
                    Cellule.Copy
                    'Colle dans Word
                    HWordApp.Selection.Paste
                End If
            End With
        Next Cellule
        Application.CutCopyMode = False
        Reponse = FermerWord
        If (Reponse) Then
            MsgBox "Traitement complété."
        Else
            MsgBox "Impossible de fermer Word."
        End If
    Else
        MsgBox "Impossible d'ouvrir Word."
    End If
    
End Sub
'

Function OuvrirWord() As Boolean
    
    'Config VBS
    On Error Resume Next
    Set HWordApp = GetObject(, "Word.Application")
    If Err.Number <> 0 Then
        Set HWordApp = CreateObject("Word.Application")
    End If
    Err.Clear ' Efface l'objet Err
    HWordApp.Visible = True
    Set HCeDoc = HWordApp.Documents.Add
    HCeDoc.Selection
    If (Err.Number <> 0) Then
        OuvrirWord = True
    Else
        OuvrirWord = False
    End If

End Function
'

Function FermerWord() As Boolean
    
    On Error GoTo Err_FermerWord
    HWordApp.ActiveDocument.SaveAs ("C:\Styles.doc")
    HWordApp.Quit
    Set HCeDoc = Nothing
    Set HWordApp = Nothing

Exit_FermerWord:
    FermerWord = True
    Exit Function

Err_FermerWord:
    FermerWord = False

End Function
'

Sub CreerBouton()
    
    Dim MonCtr As Object
    
    With Application
      .CommandBars.Add(Name:="Essai1").Visible = True
      Set MonCtr = .CommandBars("Essai1").Controls.Add(Type:=msoControlButton, ID:=2950, Before:=1)
    End With
    
    'MonCtr.OnAction = "NomDeModule.ExtraireStyle"
    MonCtr.OnAction = "ExtraireStyle"

End Sub

Répondre à Lupin
[EXCEL vba] extraction heure/minute (Résolu)Bonjour, mon problème est pas très compliqué mais sa me gène pas mal pour mon boulot... je voudrai convertir une heure ex: 50:30 => 50.5 j'arrive pas à trouver de fonction qui me le fasse alors j'ai trouvé une idée un peu barbare séparer les... www.commentcamarche.net/forum/affich-3869847-excel-vba-extraction-heure-minute
Connaitre et changer la police en vba en Word (Résolu)Bonjour les amis, J'ai une macro qui insère un symbole dans une police bien précise, maintenant je cherche a savoir quel police et attribut j'avais avant l'insersion du symbole, car sinon je reste avec la police du symbole, donc après... www.commentcamarche.net/forum/affich-2028372-connaitre-et-changer-la-police-en-vba-en-word
CSS - Syntaxe des styles La définition d'un style se fait à l'aide de règles en texte simple permettant de décrire l'aspect des éléments de la page. Une règle CSS est caractérisée par deux principaux éléments : Un sélecteur de balises, permettant de préciser à quelles... www.commentcamarche.net/css/csssyntax.php3
Personnaliser son écritureLa table des caractères Les générateurs d'écriture Les polices d'écriture Transformer agréablement ses textes, avoir une police d'écriture originale, une jolie signature, personnaliser ses emails, donner du style à son blog...Tout... www.commentcamarche.net/faq/sujet-12201-personnaliser-son-ecriture
Ergonomie des formulaires en ligneLes formulaires constituent un style d'interaction particulier qui comme les formulaires papier permettent de guider la saisie d'informations dans des champs spécifiques identifiés par des intitulés... Les formulaires permettent notamment de... www.commentcamarche.net/faq/sujet-10789-ergonomie-des-formulaires-en-ligne
[Programmation] Polices de caractères pour programmeurCourrier: Un mauvais choix La plupart des programmeurs utilisent la police de caractères Courrier pour travailler. C'est un mauvais choix, car cette police est peu lisible. En taille 9, il est impossible de distinguer 0 (zéro) de O (lettre... www.commentcamarche.net/faq/sujet-3960-programmation-polices-de-caracteres-pour-programmeur
Macro excel Extraire prix dans texte (Résolu)Bonjour, Je voudrai faire une macro excel qui me permette d'extraire un prix dans un phrase pour pourvoir ensuite le comparer a la valeur d'une autre cellule. - Est-il possible d'extraire selement les caractères numériques d'une... www.commentcamarche.net/forum/affich-6521911-macro-excel-extraire-prix-dans-texte
Changer la style de Police sous les du bureau (Résolu)Bonjour, Sous Vista comment change-t-on le style de police sous les icones du bureau et en faite j'ai eu sans faire de manip particulière toutes mes écritures en italique, icones boites mail, bandeau etc...? Merci du tuyau (j'ai regardé dans... www.commentcamarche.net/forum/affich-7515937-changer-la-style-de-police-sous-les-du-bureau
Extraire la partie son d'une vidéo youtube (Résolu)Bonjour, en suivant ceci : http://forums.fedoraforum.org/forum/showthread.php?p=1004207#post1004207 ou "comment télécharger des vidéos youtube et extraire uniquement le son",. Je reproduis donc ici, à l'identique les manipulations pour extraire... www.commentcamarche.net/forum/affich-6203423-extraire-la-partie-son-d-une-video-youtube
Télécharger Extracteur d'icônesLe programme Extracteur d'Icônes permet de visualiser les fichiers icônes (ICO) du dossier de votre choix, mais aussi de visualiser et d'extraire les icônes des fichiers EXE, DLL et ICL. Dans ces quatre types de fichiers (ICO, EXE, ICL et DLL)... www.commentcamarche.net/telecharger/telecharger-280-extracteur-d-icones
Télécharger AoA Audio ExtractorLa piste vidéo est fusionnée avec la piste audio sur un VCD, contrairement à un DVD où elles sont indépendantes. Alors l'extraction d'une piste audio à partir d'un VCD ou d'un fichier vidéo quelconque nécessite des outils spécifiques. AoA Audio... www.commentcamarche.net/telecharger/telecharger-34056466-aoa-audio-extractor
Télécharger Intel® Chipset Identification UtilityIntel® Chipset Identification Utility est un utilitaire d'identification des puces d'Intel. Il fournit aisément les informations d’un composant Intel situé sur la carte mère. Cette information peut être cruciale pour savoir si votre système supporte... www.commentcamarche.net/telecharger/telecharger-34055412-intel-chipset-identification-utility
Générique Extracteur d'air AirDuct 250x80mmGénérique Extracteur d'air AirDuct 250x80mm,x 80 250 x 80mm 80mm ,Conduit d'extraction d'air ""AirDuct"" pour guider le flux d'un ventilateur. Composé d'un tuyau flexible équipé de brides carrées pour fixation identique aux ventilateur www.commentcamarche.net/guide-achat/generique-extracteur-d-air-airduct-250x80mm-517993881-fiche-technique
Générique Extracteur d'air AirDuct 400x80mmGénérique Extracteur d'air AirDuct 400x80mm,x 80 400 x 80mm 80mm ,Conduit d'extraction d'air ""AirDuct"" pour guider le flux d'un ventilateur. Composé d'un tuyau flexible équipé de brides carrées pour fixation identique aux ventilateur www.commentcamarche.net/guide-achat/generique-extracteur-d-air-airduct-400x80mm-517993882-fiche-technique
Epson Stylus DX4400DX 4400 ,,Résolution optique du scanner:600x1200 dpi,Surface de scanner: ,Résolution maximum :5760x1440 dpi,Fabricant:Epson,Divers:1 year Standard Warranty,Imprimante couleur,Connexion:USB,Compatibilité:PC/Mac,Vitesse d'impression (noir et... www.commentcamarche.net/guide-achat/epson-stylus-dx4400-949602-fiche-technique
HTML - Balises de style Les balises de style modifient la typographie du texte. Elles peuvent être imbriquées dans d'autres balises de style de la même façon qu'on le ferait avec un traitement de texte. Voici une liste de balises de style reconnues par la plupart des... www.commentcamarche.net/html/htmlstyle.php3
Métiers de l'informatique - Web designer Le web designer conçoit l'identité visuelle des sites web et définit leur charte graphique (maquette, position des éléments graphiques, choix des images, couleurs, polices, etc.). L'objectif du web designer est de valoriser l'image de l'entreprise ou... www.commentcamarche.net/metiers-informatique/web-designer.php3
Métiers de l'informatique - Web designer Le web designer conçoit l'identité visuelle des sites web et définit leur charte graphique (maquette, position des éléments graphiques, choix des images, couleurs, polices, etc.). L'objectif du web designer est de valoriser l'image de l'entreprise ou... www.commentcamarche.net/metiers-informatique/infographiste.php3
Toutes les réponses pour « vba : extraire style et polices identiques »