Bonjour à tous ! !
Je viens chercher vos lumières.
J'avais une fonction, très simple, qui me permettait de trouver la colonne à utiliser en fonction du contenu d'une Cellule.
Elle est appelé dans ce code :
Voici la fonction initiale, qui fonctionne très bien :
J'ai voulu modifier cette fonction avec un un 3ème choix :
Seulement voilà, cela ne fonctionne pas du tout, j'ai une incompatibilité de type (erreur 13), et ce, sur la variable "determination_col_maj" quand on lui affecte 12.
J'ai fait un peu de recherche, et c'est le 12 le problème, car tout fonctionne, de 1 à 10 inclu, mais 11 / 12 et plus, ce n'est pas envisageable.
J'ai aussi essayé de passer la fonction en :
Mais rien n'y fait !
Je sèche !
Je viens voir les experts ! !
Merci d'avance,
Glam
Je viens chercher vos lumières.
J'avais une fonction, très simple, qui me permettait de trouver la colonne à utiliser en fonction du contenu d'une Cellule.
Elle est appelé dans ce code :
Code:
Sub mise_a_jour()
Dim reponse As Variant
Application.ScreenUpdating = False
'Affiche un message d'alerte si la mise à jour de l'unité choisie a déjà été faite aujourd'hui
If Day(Sheets("MAJ").Cells(25, determination_col_maj).Value) = Day(Now()) And Month(Sheets("MAJ").Cells(25, determination_col_maj).Value) = Month(Now()) Then
reponse = MsgBox("La mise à jour à déjà été réalisée aujourd'hui pour cette unité. Voulez vous la relancer ?", vbYesNo + vbDefaultButton2)
If reponse = 7 Then
End
End If
End If
...
Voici la fonction initiale, qui fonctionne très bien :
Code:
Function determination_col_maj() As Long
'Détermination de la colonne sur laquelle inscrire les informations de mise à jour
UniteChoisie = Sheets("MAJ").Cells(10, 6).Value
If UniteChoisie <> "DNC1" And UniteChoisie <> "DNC4" Then
MsgBox ("L'unité choisie est incorrecte !")
End
End If
If UniteChoisie = "DNC1" Then
determination_col_maj = 4
End If
If UniteChoisie = "DNC4" Then
determination_col_maj = 8
End If
End Function
J'ai voulu modifier cette fonction avec un un 3ème choix :
Code:
Function determination_col_maj() 'As Long
'Détermination de la colonne sur laquelle inscrire les informations de mise à jour
UniteChoisie = Sheets("MAJ").Cells(10, 6).Value
If UniteChoisie <> "DNC1" And UniteChoisie <> "DNC4" And UniteChoisie <> "DNK" Then
MsgBox ("L'unité choisie est incorrecte !")
End
End If
Select Case UniteChoisie
Case "DNC1"
determination_col_maj = 4
Case "DNC4"
determination_col_maj = 8
Case "DNK"
determination_col_maj = 12
End Select
End Function
Seulement voilà, cela ne fonctionne pas du tout, j'ai une incompatibilité de type (erreur 13), et ce, sur la variable "determination_col_maj" quand on lui affecte 12.
J'ai fait un peu de recherche, et c'est le 12 le problème, car tout fonctionne, de 1 à 10 inclu, mais 11 / 12 et plus, ce n'est pas envisageable.
J'ai aussi essayé de passer la fonction en :
Code:
Function determination_col_maj() As Long
Je sèche !
Je viens voir les experts ! !
Merci d'avance,
Glam