OVH Cloud OVH Cloud

Insertion Auto

3 réponses
Avatar
Michael
Bonsoir à tous !

Voilà j'ai une (petite?) question qui peut paraitre simple mais sur laquelle
je butte...

J'ai un tableau à trois colonnes Type, Marque, Reference et j'aimerai en VBA
que la reference s'inscrive automatiquement en fonction du type.

Je pensais à quelque chose comme ça mais je ne trouve pas le moyen...

For each z in [A1:A35]
if z.value = "Matos1" then "mettre en colonne C" "REFTOTO"
end if
next

ainsi de suite avec autant de if que de matos existants...

Et donc j'aurai besoin d'aide pour mettre la valeur en colonne C de la meme
ligne que le z ...

Je m'y perds moi-même donc si vous avez des idées alors grand MERCI à vous !

Petit Merci quand meme en attendant...

Michael

3 réponses

Avatar
anonymousA
Bonjour,

pour ce que je comprends de ta demande, ne serait-il pas plus facile
d'utiliser la procédure evenementielle

Private Sub Worksheet_Change(ByVal Target As Range)

If Not Intersect(Target, Range("A1:A65536")) Is Nothing And
Target.Cells.Count = 1 Then

With Target
Select Case .Value

Case "matos1"
.Offset(0, 2).Value = "REFtoto"

Case "matos2"
.Offset(0, 2).Value = "REFtata"
'et ainsi de suite
End Select

End With
End If

End Sub

A+


Bonsoir à tous !

Voilà j'ai une (petite?) question qui peut paraitre simple mais sur laquelle
je butte...

J'ai un tableau à trois colonnes Type, Marque, Reference et j'aimerai en VBA
que la reference s'inscrive automatiquement en fonction du type.

Je pensais à quelque chose comme ça mais je ne trouve pas le moyen...

For each z in [A1:A35]
if z.value = "Matos1" then "mettre en colonne C" "REFTOTO"
end if
next

ainsi de suite avec autant de if que de matos existants...

Et donc j'aurai besoin d'aide pour mettre la valeur en colonne C de la meme
ligne que le z ...

Je m'y perds moi-même donc si vous avez des idées alors grand MERCI à vous !

Petit Merci quand meme en attendant...

Michael





Avatar
Hervé
Bonsoir Michael,

Il te faut adapter les valeurs dans les tableaux (Mat et Ref) en faisant
correspondre les références au matériels. Cette proc exécute une moulinette
mais si la plage n'est pas énorme, c'est rapide :

Sub Materiel()
Dim Mat
Dim Ref
Dim Plage As Range
Dim I As Integer, j As Integer

'à adapter...
Mat = Array("Matos1", "Matos2", "Matos3", _
"Matos4", "Matos5", "Matos6", "Matos7") ' etc...

'de même, et en faisant correspondre les références aux matériels
Ref = Array("RefMatos1", "RefMatos2", "RefMatos3", _
"RefMatos4", "RefMatos5", "RefMatos6", "RefMatos7") ' etc...

Set Plage = Range([A1], [A65536].End(3))

For I = 1 To Plage.Count
For j = 0 To UBound(Mat)
If Plage(I) = Mat(j) Then
Plage(I).Offset(0, 2) = Ref(j)
Exit For 'sort puisque trouvé
End If
Next j
Next I

End Sub

Hervé.


"Michael" a écrit dans le message de news:
%23eVFK$

Bonsoir à tous !

Voilà j'ai une (petite?) question qui peut paraitre simple mais sur
laquelle je butte...

J'ai un tableau à trois colonnes Type, Marque, Reference et j'aimerai en
VBA que la reference s'inscrive automatiquement en fonction du type.

Je pensais à quelque chose comme ça mais je ne trouve pas le moyen...

For each z in [A1:A35]
if z.value = "Matos1" then "mettre en colonne C" "REFTOTO"
end if
next

ainsi de suite avec autant de if que de matos existants...

Et donc j'aurai besoin d'aide pour mettre la valeur en colonne C de la
meme ligne que le z ...

Je m'y perds moi-même donc si vous avez des idées alors grand MERCI à vous
!

Petit Merci quand meme en attendant...

Michael





Avatar
Michael
Merci à tous les deux je reflechis à ma solution

Merci !