Re: Copier coller colonnes d'un fichier à un autre |
Titre du sujet : Re: Copier coller colonnes d'un fichier à un autre par myDearFriend! le 23/12/2022 20:24:35 Citation : Razmo a écrit :
Un petit tour dans l'aide VBA Microsoft sur l'instruction With (ou plus exactement sur le bloc d'instructions With / End With) :
Autrement dit, si je prends par exemple ton code :
'Define variables for Diff tab
Set DIFF_DETECT_H = DIFF_WS.Range("A2").EntireRow.Find("Detection Class")
Set DIFF_LABEL_H = DIFF_WS.Range("A2").EntireRow.Find("Supplier Label")
Set DIFF_DTC_H = DIFF_WS.Range("A2").EntireRow.Find("DTC code")
Set DIFF_STATE_H = DIFF_WS.Range("A2").EntireRow.Find("Activation state")
Je peux l'alléger un peu et surtout le rendre plus facile à lire en faisant :
'Define variables for Diff tab
With DIFF_WS.Range("A2").EntireRow
Set DIFF_DETECT_H = .Find("Detection Class")
Set DIFF_LABEL_H = .Find("Supplier Label")
Set DIFF_DTC_H = .Find("DTC code")
Set DIFF_STATE_H = .Find("Activation state")
End With
C'est exactement la même chose, mais beaucoup plus digeste à la lecture et compréhension du code.
L'expression DIFF_WS.Range("A2").EntireRow" représente un objet de type Range (c'est la ligne entière qui contient la cellule A2). Tu n'es donc pas obligé de l'écrire 4 fois de suite grâce à un bloc With / End With.
Prend bien note de la présence du "." (point) devant chaque méthode Find ci-dessus. C'est ce point qui fait le lien avec l'objet en With.
Bien cordialement, |
Forums