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

  • Initiateur de la discussion Initiateur de la discussion guigui971
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

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:
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...
 
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
 
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
 
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
 
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!
 
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
@+
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
22
Affichages
3 K
Retour