1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29
| Sub aa_pmo()
Const CIBLE As String = "C:\DOCUMENTS AND SETTINGS\"
Dim R As Range
Dim var As Variant
Dim LastLig&
Dim i&
Dim A$
'--- dernière ligne renseignée de la colonne "A" ---
LastLig& = ActiveSheet.[a65536].End(xlUp).Row
'--- affectation de la plage "A1:L dernière ligne" dans la variable R (Range) ---
Set R = ActiveSheet.Range("A1:L" & LastLig& & "")
'--- met les valeurs de la plage dans un variant (correspond à un tableau Visual Basic à 2 dimensions) ---
var = R
'--- on boucle sur toutes les lignes du tableau ---
For i& = 1 To LastLig&
'--- si on trouve CIBLE dans la colonne 9 (I) ...
If InStr(1, UCase(var(i&, 9)), CIBLE) > 0 Then
'--- on extrait à partir de longueur de CIBLE + 1 jusqu'à la fin
'--- et on affecte le résultat dans la variable A$ (String)
A$ = Mid(var(i&, 9), Len(CIBLE) + 1)
'--- on extrait à partir du 1er "\" - 1 jusqu'à la fin
'--- et on met le résultat dans le tableau var(ligne traitée , colonne 12 "L")
var(i&, 12) = Mid(A$, 1, InStr(1, A$, "\") - 1)
End If
Next i&
'--- on écrit, d'un seul coup, le tableau dans la plage ---
R = var
End Sub |
Partager