XL 2010 retrouver la ligne col.A = valeur du textbox1 et renvoyer la valeur du textbox2 à la col. B

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 !

murainesouspatate

XLDnaute Occasionnel
Bonjour à tous et à toutes.
J'ai actuellement un petit soucis de renvoi de valeur contenu dans un textbox2 vers un autre classeur.
je m'explique : l'orsque je dois retoucher un devis déja enregistré, j'ai un userform qui contient 2 textbox, textbox 1 contient le N° de devis et le textbox 2 contient le tarif du devis. En cliquant sur le bouton valider, j'ouvre le classeur "Facturier" à la feuille "Enregistrement Devis", jusque là aucun problème, mais après je souhaite trouver à la colonne 1 de cette feuille le N° de devis correspondant au textbox 1 et renvoyer la valeur du textbox2 sur la même ligne colonne 11.
A ce jour, j'ai un message d'erreur de compilation et je n'arrive pas à voir ou ça pêche !
voici la macro :

Private Sub CommandButton1_Click()

Dim i As Integer
' Envoi le Montant Devis vers feuille N° Enregistrement Devis Divers

Application.ScreenUpdating = False

' Ouverture du fichier Devis-Facture BMC
Workbooks.Open ("G:\BMC\Devis - Facture BMC V6.0" & ".xlsm")
Windows("Devis - Facture BMC V6.0" & ".xlsm").Activate
Sheets("Enregistrement Devis").Select
With Selection
For i = 1 To 2000
If .Cells(i, 1) = TextBox1 Then
.Cells(i, 1).Offset(0, 11).Value = TextBox2

End If

Application.ScreenUpdating = True
Next
End With
End Sub


Merci de bien vouloir me donner un coup de pouce.....et bonne vacances à tous !
 
Bonjour,
Voici 2 macros qui font le même truc
Non testé
Bruno
VB:
Private Sub CommandButton1_Click()
Dim i As Integer
' Envoi le Montant Devis vers feuille N° Enregistrement Devis Divers
Application.ScreenUpdating = False
' Ouverture du fichier Devis-Facture BMC
Workbooks.Open ("G:\BMC\Devis - Facture BMC V6.0" & ".xlsm")
Windows("Devis - Facture BMC V6.0" & ".xlsm").Activate
With Sheets("Enregistrement Devis")
.Select
For i = 1 To .[A65000].End(3).Row   '2000
If .Cells(i, 1) = CDbl(TextBox1) Then
'si N° est numeric il faut convertir textbox1 sinon supprimer le cdbl(...)
.Cells(i, 1).Offset(0, 11).Value = Textbox2
Exit For
End If
Next
End With
Application.ScreenUpdating = True
End Sub


Private Sub CommandButton1_Click()
Dim lig As Integer
Application.ScreenUpdating = False
Workbooks.Open ("G:\BMC\Devis - Facture BMC V6.0" & ".xlsm")
With Windows("Devis - Facture BMC V6.0" & ".xlsm")
.Activate
With .Sheets("Enregistrement Devis")
.Select
lig = Application.Match(CDbl(Textbox2), [A1:A65000], 0)
If IsNumeric(lig) Then .Cells(lig, 11) = Textbox2
End With
End With
Application.ScreenUpdating = True
End Sub
 
bonjour youky, merci pour cette réponse rapide,
je viens de tester la 1ère solution et ça bogue à la ligne : For i = 1 To .[A65000].End(3).Row

pour la 2ème, ça bogue à la ligne : lig = Application.Match(CDbl(Textbox2), [A1:A65000], 0), bien que j'ai supprimé le point à la ligne du dessus " With.Sheets" au lieu de "With Sheets".

enfin dans les deux cas cela ne fonctionne pas et dans le textbox1 = 40 et textbox2 = 4203, c'est bien du numérique.

encore un coup de pouce serai le bien venue. merci
 
Il faut laisser les points ils vont avec les with
lig = Application.Match(CDbl(Textbox2), [A1:A65000], 0)
j'ai oublié le point avant [A1:A65000], 0) donc .[A1:A65000], 0)
Un nouveau code pour la première macro
Bruno
VB:
Private Sub CommandButton1_Click()
Dim i As Integer
' Envoi le Montant Devis vers feuille N° Enregistrement Devis Divers
Application.ScreenUpdating = False
' Ouverture du fichier Devis-Facture BMC
Workbooks.Open ("G:\BMC\Devis - Facture BMC V6.0" & ".xlsm")
With Windows("Devis - Facture BMC V6.0" & ".xlsm")
.Activate 'pas obligatoire
With .Sheets("Enregistrement Devis")
.Select 'pas obligatoire
For i = 1 To .[A65000].End(3).Row   '2000
If .Cells(i, 1) = CDbl(TextBox1) Then
'si N° est numeric il faut convertir textbox1 sinon supprimer le cdbl(...)
.Cells(i, 1).Offset(0, 11).Value = Textbox2
Exit For
End If
Next
End With
End With
Application.ScreenUpdating = True
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

Réponses
5
Affichages
490
Réponses
3
Affichages
537
Retour