Bonjour, j'ai un problème dans mon fichier excel.
Dans une de mes forms (form8), je veux interroger l'utilisateur sur un N° d'AR à ajouter dans ma feuille excel.
Suite à ça, j'insère une ligne pour ajouter ce nouveau N° (dans ma fonction CommandAdd_Click de ma form8). De là, comme j'ai créé une procédure Worksheet_Change lorsque la page "Hot AR" est modifiée, elle est immédiatement trigguée et appelle aussi sec une fonction findColumn qui me donne le N° de colonne de mon header (des fois que je rajoute des colonnes, c'est plus pratique)
Mais j'obtiens systématiquement l'erreur 1004, ce que je ne comprends pas. En effet, dans la proc de ma form, juste avant de faire un insert qui va déclencher la procédure appelant findColumn, j'ai mis le meme appel à la fonction findColumn, et cela fonctionne.
Je ne vois pas ce qui cloche.
J'ai aussi noté que dans ma proc findColumn, dans le cas où ça ne marche pas, le debug de mon range R n'a pas la même tête que quand ça ne fait pas d'erreur: un certain nombre de properties sont indiquées comme <impossible de lire la propriété XXX de la classe Range>...
Pour ceux qui voudraient tenter de m'aider, pour déclencher la procédure, aller dans menu/RCA features/HotAR update, (form8 s'affiche) puis cliquer sur le bouton "Add" en bas, rentrer n'importe quelle valeur et faire OK/confirmation.
ma fonction findColumn:
Function findColumn(R As Range, ColumnTitle As String, Optional cont As Boolean = False) As Integer
'returns column number as integer of a column title found in the line containing the titles
findColumn = 0
Set tmpC = R.Find(What:=ColumnTitle, MatchCase:=True, LookAt:=xlWhole, searchformat:=True)
If Not tmpC Is Nothing Then
If tmpC = ColumnTitle Then
findColumn = tmpC.Column
Else
If Not cont Then
MsgBox ("Column '" & ColumnTitle & "' not found in sheet " & R.Worksheet.Name & ".")
End
End If
End If
Else
If Not cont Then
MsgBox ("Column '" & ColumnTitle & "' not found in sheet " & R.Worksheet.Name & ".")
End
End If
End If
End Function
Dans une de mes forms (form8), je veux interroger l'utilisateur sur un N° d'AR à ajouter dans ma feuille excel.
Suite à ça, j'insère une ligne pour ajouter ce nouveau N° (dans ma fonction CommandAdd_Click de ma form8). De là, comme j'ai créé une procédure Worksheet_Change lorsque la page "Hot AR" est modifiée, elle est immédiatement trigguée et appelle aussi sec une fonction findColumn qui me donne le N° de colonne de mon header (des fois que je rajoute des colonnes, c'est plus pratique)
Mais j'obtiens systématiquement l'erreur 1004, ce que je ne comprends pas. En effet, dans la proc de ma form, juste avant de faire un insert qui va déclencher la procédure appelant findColumn, j'ai mis le meme appel à la fonction findColumn, et cela fonctionne.
Je ne vois pas ce qui cloche.
J'ai aussi noté que dans ma proc findColumn, dans le cas où ça ne marche pas, le debug de mon range R n'a pas la même tête que quand ça ne fait pas d'erreur: un certain nombre de properties sont indiquées comme <impossible de lire la propriété XXX de la classe Range>...
Pour ceux qui voudraient tenter de m'aider, pour déclencher la procédure, aller dans menu/RCA features/HotAR update, (form8 s'affiche) puis cliquer sur le bouton "Add" en bas, rentrer n'importe quelle valeur et faire OK/confirmation.
ma fonction findColumn:
Function findColumn(R As Range, ColumnTitle As String, Optional cont As Boolean = False) As Integer
'returns column number as integer of a column title found in the line containing the titles
findColumn = 0
Set tmpC = R.Find(What:=ColumnTitle, MatchCase:=True, LookAt:=xlWhole, searchformat:=True)
If Not tmpC Is Nothing Then
If tmpC = ColumnTitle Then
findColumn = tmpC.Column
Else
If Not cont Then
MsgBox ("Column '" & ColumnTitle & "' not found in sheet " & R.Worksheet.Name & ".")
End
End If
End If
Else
If Not cont Then
MsgBox ("Column '" & ColumnTitle & "' not found in sheet " & R.Worksheet.Name & ".")
End
End If
End If
End Function