besoin d'aide pour finalisé une macro

warrio

XLDnaute Nouveau
Bonjour a tous,

Je vous expose mon problème :

J’ai la macro ci-jointe (que j’ai pu construire avec l’aide de ce forum) dans le fichier ‘données’ qui me recopie les lignes quand je double clique dessus en colonne ’A’, et me place certaine données dans un second tableau ‘NOMEF’, dans les onglets correspondants au colonnes ‘M1, R01 à R8, M2’ (dans l’exemple j’ai réduit le nombre d’onglet à M01,R01,R02 pour alléger la taille du fichier).
Jusque la tout fonctionne.

Ensuite je voudrais ajouter une bordure et une mise en forme à la ligne qui vient de s’ajouter dans le second tableau et la ça ne fonctionne pas..
Dans mon exemple j’ai simplifié uniquement à un cadre, mais en réalité (je fais bien plus de mises en forme que ça… et je souhaiterais réaliser la mise en forme par macro)

Ps : le nombre de lignes sera différent d’un onglet à l’autre.

J’ai essayé différentes méthodes mais sans succès :
(je suis passé par un module, j’ai essayé de placer la mise en forme dans le code)
-soit ça a marché mais uniquement dans le premier onglet,
-soit il ma mi un cadre sur tout les onglets, mais sur une même ligne pour tous les onglets, ce qui ne correspond pas a la dernière ligne dans tous mes onglets.

Si des connaisseurs pouvaient me donné un coup de main.
Merci d’avance pour votre aide.
Salutations Warrio
 

Pièces jointes

  • NOMEF.zip
    42.9 KB · Affichages: 38

Bebere

XLDnaute Barbatruc
Re : besoin d'aide pour finalisé une macro

bonjour Warrio
une manière de procéder

Sub Test()
Dim Wk As Workbook, NomF As String
Set Wk = Workbooks("nomef") 'ActiveWorkbook
NomF = "M01"
FormatageLigne Wk.Worksheets(NomF)
End Sub

Sub FormatageLigne(Ws As Worksheet)
'Windows("Nomenclature.xls").Activate

'Sheets(Array("M01", "R01", "R02", "R03", "R04", "R05", "R06", "R07", "R08", "M02")).Select

'Sheets("M01").Activate
With Ws
Application.ScreenUpdating = False
w = .Range("A65000").End(xlUp).Row

With .Range("A" & w, "P" & w)
With .Font
.Name = "Arial"
.Size = 10
End With

With .Borders(xlEdgeLeft)
.LineStyle = xlContinuous
.Weight = xlThin
.ColorIndex = xlAutomatic
End With

'With .Borders(xlEdgeTop)
'.LineStyle = xlContinuous
'.Weight = xlThin
'.ColorIndex = xlAutomatic
'End With

With .Borders(xlEdgeBottom)
.LineStyle = xlContinuous
.Weight = xlThin
.ColorIndex = xlAutomatic
End With

With .Borders(xlEdgeRight)
.LineStyle = xlContinuous
.Weight = xlThin
.ColorIndex = xlAutomatic
End With

With .Borders(xlInsideVertical)
.LineStyle = xlContinuous
.ColorIndex = 56
.Weight = xlThin
End With
End With

With .Range("H" & w & ":J" & w).Interior
.ColorIndex = 35
.Pattern = xlSolid
End With

With .Range("K" & w & ":O" & w).Interior
.ColorIndex = 36
.Pattern = xlSolid
End With

With .Range("P" & w & ":U" & w).Interior
.ColorIndex = 15
.Pattern = xlSolid
End With

With .Range("V" & w & ":W" & w).Interior
.ColorIndex = 38
.Pattern = xlSolid
End With

' Range("A5").Select
'heets("M01").Activate
End With
Application.ScreenUpdating = True
End Sub

à bientôt
 

warrio

XLDnaute Nouveau
Re : besoin d'aide pour finalisé une macro

Salut et Merci,

Ta proposition fonctionne mais elle ne me crée une bordure que dans le premier onglet, or j'ai besoin de la mise en forme, dans chacun des onglets ou des valeurs seront inscrite cad qu'apres l'écriture, la bordure se fasse, ainsi chaque onglet ou des données seront entrée aura une bordure.

Slts

Si des connaisseurs ont des idées je suis preneur...
 

Discussions similaires

Réponses
12
Affichages
247
Réponses
11
Affichages
309

Membres actuellement en ligne

Statistiques des forums

Discussions
312 229
Messages
2 086 426
Membres
103 206
dernier inscrit
diambote