Simon 1234
XLDnaute Junior
Bonjour à tous. Je coince depuis hier...
Excel 365 et VBA, fonction MATCH: j'essaie de faire un petit formulaire qui ajoute une ligne dans une feuille OU qui, si elle existe déjà, vient corriger cette ligne. J'utilise MATCH pour trouver cette ligne si elle existe (NumLigne). Bon ça, ça semble marche. Là où ça coince, c'est si MATCH ne trouve rien.
Qu'est-ce que je ne comprends pas?
Je suis presque sûr que c'est presque rien... AU SECOURS!
Excel 365 et VBA, fonction MATCH: j'essaie de faire un petit formulaire qui ajoute une ligne dans une feuille OU qui, si elle existe déjà, vient corriger cette ligne. J'utilise MATCH pour trouver cette ligne si elle existe (NumLigne). Bon ça, ça semble marche. Là où ça coince, c'est si MATCH ne trouve rien.
VB:
Sub SAUVER_AVALIDER()
'copier depuis la fiche vers la base de données "A_VALIDER"
Dim NomFeuil As Variant 'on y stocke le nom de la feuille où stocker les données (action)
NomFeuil = Range("AA24").Value
'ci dessous ne marche pas si numligne n'existe pas
Dim NumLigne As Long
NumLigne = Application.Match(Range("T1").Value, Worksheets(NomFeuil).Range("A:A"), 0) ' laligne où se trouve l'IDU
If IsError(NumLigne) Then
Sheets(NomFeuil).Rows("1:1").Insert 'insérer une ligne
NumLigne = 1
ElseIf NumLigne > 0 Then 'reference existante
MsgBox "ref trouvée"
End If
'ci dessous ce sont les cellules où sont les données que je veux stocker dans la feuille
Source = Array("t1", "u16", "n8", "u21", "x21", "aa21", "ad21", "u24", "x24", "aa23", "aa24")
'on copie/colle en masse
For i = 0 To UBound(Source) ' Les tableaux commencent en 0, Ubound donne la fin
Worksheets(NomFeuil).Cells(NumLigne, i + 1) = Worksheets("FICHE").Range(Source(i)).Value 'j'aime bien cette ligne <3
Next
MsgBox "La fiche a été stockée."
End Sub
Qu'est-ce que je ne comprends pas?
Je suis presque sûr que c'est presque rien... AU SECOURS!