Excel respect de la mise en page!! - Page 2

Résolu
Précédent
  • 1
  • 2
  1. geeby Messages postés 16 Statut Membre 4
     
    Salut, je touche au but. Michel_m, j'obtiens bien la mise en page pour mes cellules et ça c'est cool. Comme tu me le dis pour mon tableau je sélectionne la première cible et ensuite je fait glisser sur les deux colonnes à l'aide de la petite croix noir en bas à droite de la case et ensuite je fais glisser de la même manière sur toutes les lignes dont j'ai besoin... et là erreur d'execution '13' : incompatibilité de type...Je clique sur fin et il faut donc que je sélectionne une par une mes cellules que je valide la formule insérée automatiquement par excel et là j'obtiens la bonne mise en page (c'est déjà cool et faisable avec un clic dans la barre blanche et entrée ainsi de suite...). Pensez vous qu'il est possible de régler ce pb??
    Un truc du style sélectionner une cellule, lui appliquer le module que tu as fait et passer aux cellules suivantes...
    En tout cas merci beaucoup...
    0
  2. lermite222 Messages postés 9042 Statut Contributeur 1 199
     
    Bonjour vous deux,
    Comme il y a plus dans deux têtes que dans une j'ai adapté les macros en une qui fait tout et sans mnipulation.
    Tu colle la macro ci-dessous dans un module
    Sub CopieFormat()
    Dim i As Integer, e As Integer
    Dim Txt As String
    Dim T
    Dim Cel As Range
    Dim R As Long, C As Integer
        sheets("Feuil3").Select
        
        Range("A1:A" & Range("A1").SpecialCells(xlCellTypeLastCell).Row).Select
        For Each Cel In Selection
            If Cel.HasFormula = True Then
                Txt = Mid(Cel.Formula, 2)
                T = Split(Txt, "!", -1)
                Sheets(T(0)).Select
                R = Range(Txt).Row: C = Range(Txt).Column
                Range(Cells(R, C), Cells(R, C + 2)).Select
                Selection.Copy
                sheets("Feuil3").Select
                Cel.Select
                Selection.PasteSpecial Paste:=xlFormats, Operation:=xlNone, _
                SkipBlanks:=False, Transpose:=False
                Application.CutCopyMode = False
            End If
        Next Cel
    End Sub

    Juste adapté Feuil3 au nom de ta feuille destination
    sheets("Feuil3").Select
    Autant de feuilles que tu veux, tu met toutes les formules que tu veux, ligne vide autorisée, titre autorisé etc..
    Comme tu dit plus haut, tu copie toujours 3 colonnes, si plus changer le 2 en nombre de colonnes -1
    Range(Cells(R, C), Cells(R, C + 2)).Select
    Quand ta page est remplie de toute tes adresses, mettre le curseur dans la macro et tape F5, tout est fait en une fois...
    Si ca convient tu peu la lier à un bouton d'une barre d'outils.
    A+

    0
  3. geeby Messages postés 16 Statut Membre 4
     
    Parfait un grand merci à vous deux... Et félicitation, je vais de même me mettre au vba que je ne connaissais pas ça a l'air bien sympa je vais commencer par essayer de comprendre ce programme
    Encore merci...
    0
  4. michel_m Messages postés 18903 Date d'inscription   Statut Contributeur Dernière intervention   3 320
     
    A la bourre comme d'hab

    mais

    avec les modifs demandées:

    Tu sélectionnes la zone voulue et tu fais un clic droit

    Remplace Worksheets=_change

    Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel As Boolean)
    Dim plage As String
    Cancel = True
    plage = Selection.Address
    Call copierformat(plage)
    End Sub

    Remplace l'ancienne copierformat

    Sub copierformat(ByVal cible As String)
    Dim depart As String, cellule As Range

    Application.ScreenUpdating = False

    For Each cellule In Range(cible)
    If cellule.HasFormula Then
    With cellule
    depart = .Formula
    depart = Right(depart, Len(depart) - 1)
    .Interior.ColorIndex = Range(depart).Interior.ColorIndex
    With .Font
    .FontStyle = Range(depart).Font.FontStyle
    .ColorIndex = Range(depart).Font.ColorIndex
    End With
    End With
    End If
    Next
    Application.ScreenUpdating = True
    End Sub

    tite démo ci jointe pour le fun

    Si tu te mets au VBA, je te conseille vivement ce site
    www.info-3000.com

    où tu trouveras des tutos très pédagogiques et décontractés

    Bonne découverte

    Michel
    0
Précédent
  • 1
  • 2