définir une variable à partir d'une cellule, .........et comment l'utiliser?

guigui971

XLDnaute Junior
Bonjour,
Bien que je ne maitrise pas du tout le VBA, je me suis jusqu'à maintenant débrouillé avec l'enregistreur de macro. Maintenant j'atteins mes limites avec cette méthode.

J'ai dans mon projet un certain nombre de lignes, du genre :

Range("y2:y200").Select
Range("o3:t200").Select
Selection.AutoFill Destination:=Range("C2:C200"), Type:=xlFillDefault
ActiveSheet.PageSetup.PrintArea = "$B$1:$W$200"​

Je voudrais pouvoir remplacer la valeur "200" par une valeur saisie dans une cellule de mon tableur. Disons en A1.

J'ai compris que çà passait par quelque chose dans le genre "range("A1").Value", mais je ne sais pas du tout comment faire. Surtout que cette cellule A1 est dans une autre feuille que celle où agit ma macro.

Merci de vos conseils.
 
Dernière édition:

Robert

XLDnaute Barbatruc
Repose en paix
Re : définir une variable à partir d'une cellule, .........et comment l'utiliser?

Bonjour le fil, bonjour le forum,

Ha bem m... alors ! Moi non plus je n'arrive même pas à l'ouvrir... Les boules! Vu le temps que j'avais passer à remplacer tous les select par des With... End With. Si tu arrives à voir le code (dans le module Module1), copie-le et colle-le dans ton fichier... Qui sait...
 

guigui971

XLDnaute Junior
Re : définir une variable à partir d'une cellule, .........et comment l'utiliser?

J'ai bien tenté de recopier le code des 2 modules, après avoir effacé tous mes modules, mais çà plante!
C'est rageant!

Je vais quand même creuser ta solution de remplacer les select par de with... End with

Merci
 

Staple1600

XLDnaute Barbatruc
Re : définir une variable à partir d'une cellule, .........et comment l'utiliser?

Re

guigui971
A partir de ta PJ, un exemple de simplification de code
Code:
Sub EFFACER()
' EFFACER
With Sheets("Données")
    .Unprotect
    .Activate
    .Cells.Delete Shift:=xlUp
    With .Range("A1")
        .Value = "> Collez l'analy-table ici <"
        .Font.ColorIndex = xlAutomatic
        .Font.Bold = True
        .Interior.Color = 65535
        .HorizontalAlignment = xlCenter
        .VerticalAlignment = xlCenter
        .Borders.LineStyle = 1
        .Borders.Weight = xlMedium
    End With
    .Columns("A:A").EntireColumn.AutoFit
    .Rows("1:1").RowHeight = 27.75
End With
End Sub

NB: J'ai mis ce code en commentaire pour éviter d'éventuels problèmes
Code:
'Private Sub Workbook_Deactivate()
'
'    Application.ScreenUpdating = False
'    Application.ExecuteExcel4Macro "SHOW.TOOLBAR(""Ribbon"",True)"
'    Application.DisplayFormulaBar = True
'    Application.DisplayStatusBar = True
'    Application.ScreenUpdating = True
'
' End Sub
 

Staple1600

XLDnaute Barbatruc
Re : définir une variable à partir d'une cellule, .........et comment l'utiliser?

Re


Robert:
Désolé, je n'ai pas non plus réussi à ouvrir ta PJ
J'ai donc ouvert le fichier joint par guigui971 (cf message #7)

guigui971:
Un autre exemple de simplification de ta macro1
(test ok sur mon pc)
Code:
Sub Macro1()
Dim Ligne As Long
With Sheets("Paramètres")
    Ligne = .Range("B21"): .Columns("A:A").Insert -4161
    With .Range("A1")
        .Value = "index"
        With .Offset(1)
            .Value = 1: .DataSeries 2, -4132, 1, 1, Ligne, False
        End With
    End With
End With
End Sub
 

guigui971

XLDnaute Junior
Re : définir une variable à partir d'une cellule, .........et comment l'utiliser?

Salut,

A propos de choses qui ralentissent l'execution, j'ai trouvé un code qui accelere notablement les choses :
Au début, on met :
Application.ScreenUpdating = False

A la fin, on n'oublie pas:
Application.ScreenUpdating = True

La différence est stupéfiante!
 

Pierrot93

XLDnaute Barbatruc
Re : définir une variable à partir d'une cellule, .........et comment l'utiliser?

Bonjour à tous,

A propos de choses qui ralentissent l'execution, j'ai trouvé un code qui accelere notablement les choses :
Au début, on met :

pour compléter au cas ou :
Code:
With Application
    .ScreenUpdating = False
    .EnableEvents = False 'si procédures événementielles
    .Calculation = xlCalculationManual ' si formules
End With
'le code
With Application
    .Calculation = xlCalculationAutomatic
    .EnableEvents = True
    .ScreenUpdating = True
End With

bonne journée
@+
 

Discussions similaires

Membres actuellement en ligne

Aucun membre en ligne actuellement.

Statistiques des forums

Discussions
312 305
Messages
2 087 084
Membres
103 459
dernier inscrit
Arnocal