OVH Cloud OVH Cloud

excel VBA

1 réponse
Avatar
Cloclo
Je débute en VBA sur excel 2002
Quelqu'un pourrait-il m'expliquer comment construire le VBA sur le modèle ci
dessous :

J'ai un fichier avec plusieurs colonnes et je dois récupérer la cellule C(x)
(heure) en comparant la cellule D(x) (Texte) et la cellule F(x) (Texte) de
la même ligne.
Ceci plusieurs fois car mon fichier comporte 200 lignes.

Merci pour votre réponse

1 réponse

Avatar
Hervé
Bonsoir Cloclo,
Regarde si cela peut faire l'affaire :

Sub RecupValeurs()
Dim Plage As Range
Dim Cel As Range
Dim Tbl() As Date
Dim I As Integer
'définie la plage (colonne D)
With Worksheets("Feuil1")
Set Plage = .Range(.[D1], .[D65536].End(3))
End With
'parcour la plage cellule après cellule
For Each Cel In Plage
'si valeur identique, récupération de
'l'heure en colonne C
If Cel = Cel.Offset(0, 2) Then
I = I + 1
ReDim Preserve Tbl(1 To I)
Tbl(I) = Cel.Offset(0, -1)
End If
Next Cel
'si rien trouvée (tableau non initialisé)
On Error Resume Next
'valeurs collées dans la colonne A de la feuille "Feuil2"
With Worksheets("Feuil2")
.Range(.[A1], .Range("A" & UBound(Tbl))) _
= Application.WorksheetFunction.Transpose(Tbl)
End With
If Err.Number <> 0 Then
MsgBox "Aucune valeurs en doublon dans les colonnes D et F !"
Else
MsgBox I & " valeur(s) en doublon trouvées dans les colonnes " _
& "D et F !"
End If

Set Cel = Nothing
Set Plage = Nothing
Erase Tbl
End Sub

Hervé.

"Cloclo" a écrit dans le message news:

Je débute en VBA sur excel 2002
Quelqu'un pourrait-il m'expliquer comment construire le VBA sur le modèle
ci

dessous :

J'ai un fichier avec plusieurs colonnes et je dois récupérer la cellule
C(x)

(heure) en comparant la cellule D(x) (Texte) et la cellule F(x) (Texte) de
la même ligne.
Ceci plusieurs fois car mon fichier comporte 200 lignes.

Merci pour votre réponse