Passer des lignes de programme de Ref Absolu à Relative (synthaxe)

Yagan

XLDnaute Nouveau
Bonjour,

J'ai fait la petite macro ci dessous et j'obtiens le resultat que sur la 1er cellule car j'ai mis les refs en Absolu (si je ne dit pas de connerie). J'ai mis une boucle "Do While" afin de tirer jusqu'à la fin de mon tableau mais pour que ça marche je pense que je dois passer en Ref Relative ?! en tout cas je n'y arrive pas, problème de synthaxe ?? donc si pouviez me dépanner ça serait sympa car j'y ai déjà passé trop de temps.

Code:
Range("N2").Select
       
    Do While IsEmpty(ActiveCell.Value) = False
    
    Select Case Range("O2")
             
        Case "DGALIAR"
        
            If Range("N2") = "GraviteC" And Range("P2") > Range("Paramètres!L40") Then
                       
            ActiveCell = "GraviteDG"
                
            End If
                        
        Case Is <> "DGALIAR"
        
            If Range("N2") = "GraviteC" And Range("P2") > Range("Paramètres!L41") Then
            
            ActiveCell = "GraviteG"
            
            End If
        
    End Select
                        
        ActiveCell.Offset(1, 0).Select
        
        Loop
 

JNP

XLDnaute Barbatruc
Re : Passer des lignes de programme de Ref Absolu à Relative (synthaxe)

Bonjour Yagan :),
A tester
Code:
Dim Cellule As Range
Set Cellule = Range("N2")
Do While Cellule <> ""
    If Cellule.Offset(0, 1) = "DGALIAR" And Cellule = "GraviteC" And Cellule.Offset(0, 1) > Sheets("Paramètres").Range("L40") Then
        Cellule = "GraviteDG"
    ElseIf Cellule.Offset(0, 1) <> "DGALIAR" And Cellule = "GraviteC" And Cellule.Offset(0, 1) > Sheets("Paramètres").Range("L40") Then
        Cellule = "GraviteG"
    End If
    Set Cellule = Cellule.Offset(1, 0)
Loop
Bonne journée :cool:
 

JNP

XLDnaute Barbatruc
Re : Passer des lignes de programme de Ref Absolu à Relative (synthaxe)

Re :),
Elle devrait déjà être beaucoup plus rapide que ta première, vu que tu passais par des Select alors que je ne travaille qu'en variables :rolleyes:...
Par contre, s'il y a beaucoup de changement de valeurs dans les cellules, tu peux améliorer sensiblement la vitesse en désactivant l'affichage écran en mettant en début de macro
Code:
Application.ScreenUpdating = False
et en fin de macro
Code:
Application.ScreenUpdating = True
Bon courage :cool:
 

Discussions similaires

Membres actuellement en ligne

Aucun membre en ligne actuellement.

Statistiques des forums

Discussions
312 668
Messages
2 090 739
Membres
104 643
dernier inscrit
adriano22