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
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
'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
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
'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" <michael_bas@yahoo.fr> a écrit dans le message de news:
%23eVFK$kBGHA.684@tk2msftngp13.phx.gbl...
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
!
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
'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 !