bonjour,
Je m'appelle David et je suis tout nouveau sur le forum.Un amis m'a parlé de votre forum et j'aurais une petite question:
En fait j'ai le code suivant en VBA je met la saisie complète mais il s'agit d'un petit detail.
Function RechercheSCADEName(arg_lien, arg_CarSpecialBDSP, arg_MsgName, arg_PortName) As String
ligne = Range("A65536").End(xlUp).Row
For Each newsel In Range("A1:A" & ligne)
If newsel.Value = "Parameter" And Cells(newsel.Row, 12) = arg_lien Then
linklin2 = newsel.Row
tablo2 = Split(Cells(linklin2 + 1, 2), arg_CarSpecialBDSP)
If Cells(linklin2 + 1, 1) = "Codage Param" And arg_PortName = tablo2(1) And arg_MsgName = tablo2(2) Then
scade_name = Cells(linklin2 + 1, 114)
Exit For
End If
End If
Next newsel
End Function
Je n'explique pas tout le code, il s'agit juste de récupérer des variables.Bref la ligne qui m'intéresse est la suivante:
tablo2 = Split(Cells(linklin2 + 1, 2), arg_CarSpecialBDSP)
Concrètement j'utilise une fonction séparant (dans une cellule Excel) les différents termes. Exemple 1:\tata\toto\titi \ je récupèrerais alors toto (en suivant la ligne de commande tablo2=... ,ici linklin2 est juste un numéro de ligne et arg_CarSpecialBDSP est "\" d'ou la possibilité de splitté tata, toto etc...
Le problème étant que dans le document je peut retrouver dans une cellule Excel écrite :Exemple \tata ici il n'y a pas de second terme (\toto dans l'exemple précédent). lors de l'exécution du programme celui s'arrête me disant que pour tablo2 (2) (tablo2 (2) me permet de récupéré la valeur toto dans l'exemple 1 donné précédemment) l'indice n'est pas valide.
Je voudrais alors insérer une ligne de commande permettant de dire que s'il n'existe pas de suite à \tata du genre \tata\toto que le programme sorte de la fonction RechercheSCADEName pour qu'il n'indique pas de message d'erreur.
J'ai essayé d'etre le plus clair possible, merci de votre aide
Je m'appelle David et je suis tout nouveau sur le forum.Un amis m'a parlé de votre forum et j'aurais une petite question:
En fait j'ai le code suivant en VBA je met la saisie complète mais il s'agit d'un petit detail.
Function RechercheSCADEName(arg_lien, arg_CarSpecialBDSP, arg_MsgName, arg_PortName) As String
ligne = Range("A65536").End(xlUp).Row
For Each newsel In Range("A1:A" & ligne)
If newsel.Value = "Parameter" And Cells(newsel.Row, 12) = arg_lien Then
linklin2 = newsel.Row
tablo2 = Split(Cells(linklin2 + 1, 2), arg_CarSpecialBDSP)
If Cells(linklin2 + 1, 1) = "Codage Param" And arg_PortName = tablo2(1) And arg_MsgName = tablo2(2) Then
scade_name = Cells(linklin2 + 1, 114)
Exit For
End If
End If
Next newsel
End Function
Je n'explique pas tout le code, il s'agit juste de récupérer des variables.Bref la ligne qui m'intéresse est la suivante:
tablo2 = Split(Cells(linklin2 + 1, 2), arg_CarSpecialBDSP)
Concrètement j'utilise une fonction séparant (dans une cellule Excel) les différents termes. Exemple 1:\tata\toto\titi \ je récupèrerais alors toto (en suivant la ligne de commande tablo2=... ,ici linklin2 est juste un numéro de ligne et arg_CarSpecialBDSP est "\" d'ou la possibilité de splitté tata, toto etc...
Le problème étant que dans le document je peut retrouver dans une cellule Excel écrite :Exemple \tata ici il n'y a pas de second terme (\toto dans l'exemple précédent). lors de l'exécution du programme celui s'arrête me disant que pour tablo2 (2) (tablo2 (2) me permet de récupéré la valeur toto dans l'exemple 1 donné précédemment) l'indice n'est pas valide.
Je voudrais alors insérer une ligne de commande permettant de dire que s'il n'existe pas de suite à \tata du genre \tata\toto que le programme sorte de la fonction RechercheSCADEName pour qu'il n'indique pas de message d'erreur.
J'ai essayé d'etre le plus clair possible, merci de votre aide