[VBA] fonction VBA find avec date et userform - RESOLU

  • Initiateur de la discussion Initiateur de la discussion babas
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

babas

XLDnaute Junior
Bonjour à tous,

Je ne parvient pas à trouver la solution à mon problème malgré des recherches sur le forum pour des demandes similaires…

Voici le soucis, J'ai un userform avec à l'intérieur un textbox qui contient une date. Je voudrais retrouver cette date dans une feuille et insérer la valeur d'un autre textbox dans la dernière cellule vide de la colonne correspondant à cette date.
Voici le code que j'ai réalisé et qui ne fonctionne pas 🙁
VB:
e = CDate(newinter.TextBox2)
p = Sheets("cal").Range("A1:ND1").Find(e).Column
r = cells(p & Rows.Count).End(xlUp).Row + 1
Sheets("cal").Cells(r, p) = TextBox8

Si quelqu'un a une solution.

Merci d'avance
 
Bonsoir le fil

Test OK sur mon PC
VB:
Private Sub CommandButton1_Click()
Dim rng As Range, t
e = CSng(CDate(TextBox1))
Set rng = Sheets("cal").Range("$A$1:$ND$1")
p = Application.Match(e, rng, 0)
r = Cells(Rows.Count, p).End(xlUp).Row + 1
MsgBox Sheets("cal").Cells(r, p).Address
'////////////////////////////////////////////////
'plus court ;-)
MsgBox Cells(Rows.Count, p).End(3)(2).Address
End Sub
 
Ayez, j'ai trouvé le problème
En fait mon textbox2 où se trouve la date n'est pas véritablement une date. Il est alimenté par trois autres textbox (un pour le jour, mois et année) qui eux sont modifié via le choix fait sur des optionbutton. Il doit y avoir un problème de traduction en date.
 
Bonsoir le fil

Test OK sur mon PC
VB:
Private Sub CommandButton1_Click()
Dim rng As Range, t
e = CSng(CDate(TextBox1))
Set rng = Sheets("cal").Range("$A$1:$ND$1")
p = Application.Match(e, rng, 0)
r = Cells(Rows.Count, p).End(xlUp).Row + 1
MsgBox Sheets("cal").Cells(r, p).Address
'////////////////////////////////////////////////
'plus court ;-)
MsgBox Cells(Rows.Count, p).End(3)(2).Address
End Sub
Bonjour Staple1600 , babas

@Staple1600 : Stp que signifie le '(2)' de cette ligne de code ci-dessous:
VB:
MsgBox Cells(Rows.Count, p).End(3)(2).Address

Avec mes remerciements anticipés.

Bonne journée.
 
Bonjour le fil

=>cp4
Une petite macro en guise d'explication 😉
VB:
Sub Special_CP4()
Dim Zz As Range, p&
Randomize 1600
p = 19
With Application
    Set Zz = Cells(1, p).Offset(.RandBetween(1590, 1600))
    Zz.Value = "Staple"
    'écriture classique
    MsgBox Zz.End(xlUp).Offset(1).Address
    'écriture raccourcie
    MsgBox Zz.End(3)(2).Address
End With
Set Zz = Nothing
End Sub
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

  • Question Question
Microsoft 365 Recherche v + VBA
Réponses
3
Affichages
2 K
Retour