Bonjour,
j'ai un problème pour des factures: je m'explique j'ai deux classeur
facture.xls et clients.xls.
Client.xls se présente comme suis
code nom prenom
1 Moi je
2 toi tu
3 il lui
Dans facture.xls je voudrais mettre dans la cellule A1 le code du client
1 par exemple.
ensuite je voudrais que dans B1 il y ai le nom et dans B2 le prenom.
J'ai synthétisé mais l'esprit est là.
le classeur client.xls est fermé.
Je pense, c'est facile à dire je sais, qu'en VBA il faudrait ouvrir le
classeur client.xls puis copier toutes les valeurs dans des variables,
fermer client.xls et enfin tout recopier dans facture.xls.
Essai ce code ça devait marcher si la codification client est en alphanumérique 'References=Microsoft ActiveX Data Obgects 2.8 Library
Private Sub Worksheet_SelectionChange(ByVal Target As Range) table End Sub
C1..C2..ect Public CodeC, NomC, PrenC Sub table() On Error Resume Next Dim cnn As String Dim sql As String CodeC = "" Dim Rst As ADODB.Recordset cnn = "Provider=Microsoft.Jet.OLEDB.4.0;" & _ "Data source=d:Clients.xls;" & _ "Extended properties=Excel 8.0;" sql = "Select * from [Feuil1$];" Set Rst = New ADODB.Recordset i = 1 Rst.Open sql, cnn, adOpenForwardOnly CodeC = ActiveCell.Previous With Rst Do While Not .EOF ligne = ActiveCell.Row If .Fields!Code = CodeC Then NomC = .Fields!Nom PrenC = .Fields!Prenom Feuil1.Range("b" & ligne).Value = NomC Feuil1.Range("C" & ligne).Value = PrenC End If .MoveNext i = i + 1 Loop
Cordialement.
Bonjour, j'ai un problème pour des factures: je m'explique j'ai deux classeur facture.xls et clients.xls. Client.xls se présente comme suis code nom prenom 1 Moi je 2 toi tu 3 il lui Dans facture.xls je voudrais mettre dans la cellule A1 le code du client 1 par exemple. ensuite je voudrais que dans B1 il y ai le nom et dans B2 le prenom. J'ai synthétisé mais l'esprit est là. le classeur client.xls est fermé. Je pense, c'est facile à dire je sais, qu'en VBA il faudrait ouvrir le classeur client.xls puis copier toutes les valeurs dans des variables, fermer client.xls et enfin tout recopier dans facture.xls.
MERCI D'AVANCE A CEUX QUI M'AIDERONT
Bonsoir Damien,
Essai ce code ça devait marcher si la codification client est en
alphanumérique
'References=Microsoft ActiveX Data Obgects 2.8 Library
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
table
End Sub
C1..C2..ect
Public CodeC, NomC, PrenC
Sub table()
On Error Resume Next
Dim cnn As String
Dim sql As String
CodeC = ""
Dim Rst As ADODB.Recordset
cnn = "Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data source=d:Clients.xls;" & _
"Extended properties=Excel 8.0;"
sql = "Select * from [Feuil1$];"
Set Rst = New ADODB.Recordset
i = 1
Rst.Open sql, cnn, adOpenForwardOnly
CodeC = ActiveCell.Previous
With Rst
Do While Not .EOF
ligne = ActiveCell.Row
If .Fields!Code = CodeC Then
NomC = .Fields!Nom
PrenC = .Fields!Prenom
Feuil1.Range("b" & ligne).Value = NomC
Feuil1.Range("C" & ligne).Value = PrenC
End If
.MoveNext
i = i + 1
Loop
Cordialement.
Bonjour,
j'ai un problème pour des factures: je m'explique j'ai deux classeur
facture.xls et clients.xls.
Client.xls se présente comme suis
code nom prenom
1 Moi je
2 toi tu
3 il lui
Dans facture.xls je voudrais mettre dans la cellule A1 le code du client
1 par exemple.
ensuite je voudrais que dans B1 il y ai le nom et dans B2 le prenom.
J'ai synthétisé mais l'esprit est là.
le classeur client.xls est fermé.
Je pense, c'est facile à dire je sais, qu'en VBA il faudrait ouvrir le
classeur client.xls puis copier toutes les valeurs dans des variables,
fermer client.xls et enfin tout recopier dans facture.xls.
Essai ce code ça devait marcher si la codification client est en alphanumérique 'References=Microsoft ActiveX Data Obgects 2.8 Library
Private Sub Worksheet_SelectionChange(ByVal Target As Range) table End Sub
C1..C2..ect Public CodeC, NomC, PrenC Sub table() On Error Resume Next Dim cnn As String Dim sql As String CodeC = "" Dim Rst As ADODB.Recordset cnn = "Provider=Microsoft.Jet.OLEDB.4.0;" & _ "Data source=d:Clients.xls;" & _ "Extended properties=Excel 8.0;" sql = "Select * from [Feuil1$];" Set Rst = New ADODB.Recordset i = 1 Rst.Open sql, cnn, adOpenForwardOnly CodeC = ActiveCell.Previous With Rst Do While Not .EOF ligne = ActiveCell.Row If .Fields!Code = CodeC Then NomC = .Fields!Nom PrenC = .Fields!Prenom Feuil1.Range("b" & ligne).Value = NomC Feuil1.Range("C" & ligne).Value = PrenC End If .MoveNext i = i + 1 Loop
Cordialement.
Bonjour, j'ai un problème pour des factures: je m'explique j'ai deux classeur facture.xls et clients.xls. Client.xls se présente comme suis code nom prenom 1 Moi je 2 toi tu 3 il lui Dans facture.xls je voudrais mettre dans la cellule A1 le code du client 1 par exemple. ensuite je voudrais que dans B1 il y ai le nom et dans B2 le prenom. J'ai synthétisé mais l'esprit est là. le classeur client.xls est fermé. Je pense, c'est facile à dire je sais, qu'en VBA il faudrait ouvrir le classeur client.xls puis copier toutes les valeurs dans des variables, fermer client.xls et enfin tout recopier dans facture.xls.
MERCI D'AVANCE A CEUX QUI M'AIDERONT
Damien TRUJILLO
Merci ABED HADDOU, malheureusement le programme a un petit probleme, en effet il me prend toujours la dernière valeur de la liste de code. en fait il ne trouve pas par rapport au code que je met dans ma facture.
Merci si tu peux m'aider
Bonsoir Damien,
Essai ce code ça devait marcher si la codification client est en alphanumérique 'References=Microsoft ActiveX Data Obgects 2.8 Library
Private Sub Worksheet_SelectionChange(ByVal Target As Range) table End Sub
C1..C2..ect Public CodeC, NomC, PrenC Sub table() On Error Resume Next Dim cnn As String Dim sql As String CodeC = "" Dim Rst As ADODB.Recordset cnn = "Provider=Microsoft.Jet.OLEDB.4.0;" & _ "Data source=d:Clients.xls;" & _ "Extended properties=Excel 8.0;" sql = "Select * from [Feuil1$];" Set Rst = New ADODB.Recordset i = 1 Rst.Open sql, cnn, adOpenForwardOnly CodeC = ActiveCell.Previous With Rst Do While Not .EOF ligne = ActiveCell.Row If .Fields!Code = CodeC Then NomC = .Fields!Nom PrenC = .Fields!Prenom Feuil1.Range("b" & ligne).Value = NomC Feuil1.Range("C" & ligne).Value = PrenC End If .MoveNext i = i + 1 Loop
Cordialement.
Bonjour, j'ai un problème pour des factures: je m'explique j'ai deux classeur facture.xls et clients.xls. Client.xls se présente comme suis code nom prenom 1 Moi je 2 toi tu 3 il lui Dans facture.xls je voudrais mettre dans la cellule A1 le code du client 1 par exemple. ensuite je voudrais que dans B1 il y ai le nom et dans B2 le prenom. J'ai synthétisé mais l'esprit est là. le classeur client.xls est fermé. Je pense, c'est facile à dire je sais, qu'en VBA il faudrait ouvrir le classeur client.xls puis copier toutes les valeurs dans des variables, fermer client.xls et enfin tout recopier dans facture.xls.
MERCI D'AVANCE A CEUX QUI M'AIDERONT
Merci ABED HADDOU,
malheureusement le programme a un petit probleme,
en effet il me prend toujours la dernière valeur de la liste de code.
en fait il ne trouve pas par rapport au code que je met dans ma facture.
Merci si tu peux m'aider
Bonsoir Damien,
Essai ce code ça devait marcher si la codification client est en
alphanumérique
'References=Microsoft ActiveX Data Obgects 2.8 Library
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
table
End Sub
C1..C2..ect
Public CodeC, NomC, PrenC
Sub table()
On Error Resume Next
Dim cnn As String
Dim sql As String
CodeC = ""
Dim Rst As ADODB.Recordset
cnn = "Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data source=d:Clients.xls;" & _
"Extended properties=Excel 8.0;"
sql = "Select * from [Feuil1$];"
Set Rst = New ADODB.Recordset
i = 1
Rst.Open sql, cnn, adOpenForwardOnly
CodeC = ActiveCell.Previous
With Rst
Do While Not .EOF
ligne = ActiveCell.Row
If .Fields!Code = CodeC Then
NomC = .Fields!Nom
PrenC = .Fields!Prenom
Feuil1.Range("b" & ligne).Value = NomC
Feuil1.Range("C" & ligne).Value = PrenC
End If
.MoveNext
i = i + 1
Loop
Cordialement.
Bonjour,
j'ai un problème pour des factures: je m'explique j'ai deux classeur
facture.xls et clients.xls.
Client.xls se présente comme suis
code nom prenom
1 Moi je
2 toi tu
3 il lui
Dans facture.xls je voudrais mettre dans la cellule A1 le code du client
1 par exemple.
ensuite je voudrais que dans B1 il y ai le nom et dans B2 le prenom.
J'ai synthétisé mais l'esprit est là.
le classeur client.xls est fermé.
Je pense, c'est facile à dire je sais, qu'en VBA il faudrait ouvrir le
classeur client.xls puis copier toutes les valeurs dans des variables,
fermer client.xls et enfin tout recopier dans facture.xls.
Merci ABED HADDOU, malheureusement le programme a un petit probleme, en effet il me prend toujours la dernière valeur de la liste de code. en fait il ne trouve pas par rapport au code que je met dans ma facture.
Merci si tu peux m'aider
Bonsoir Damien,
Essai ce code ça devait marcher si la codification client est en alphanumérique 'References=Microsoft ActiveX Data Obgects 2.8 Library
Private Sub Worksheet_SelectionChange(ByVal Target As Range) table End Sub
C1..C2..ect Public CodeC, NomC, PrenC Sub table() On Error Resume Next Dim cnn As String Dim sql As String CodeC = "" Dim Rst As ADODB.Recordset cnn = "Provider=Microsoft.Jet.OLEDB.4.0;" & _ "Data source=d:Clients.xls;" & _ "Extended properties=Excel 8.0;" sql = "Select * from [Feuil1$];" Set Rst = New ADODB.Recordset i = 1 Rst.Open sql, cnn, adOpenForwardOnly CodeC = ActiveCell.Previous With Rst Do While Not .EOF ligne = ActiveCell.Row If .Fields!Code = CodeC Then NomC = .Fields!Nom PrenC = .Fields!Prenom Feuil1.Range("b" & ligne).Value = NomC Feuil1.Range("C" & ligne).Value = PrenC End If .MoveNext i = i + 1 Loop
Cordialement.
Bonjour, j'ai un problème pour des factures: je m'explique j'ai deux classeur facture.xls et clients.xls. Client.xls se présente comme suis code nom prenom 1 Moi je 2 toi tu 3 il lui Dans facture.xls je voudrais mettre dans la cellule A1 le code du client 1 par exemple. ensuite je voudrais que dans B1 il y ai le nom et dans B2 le prenom. J'ai synthétisé mais l'esprit est là. le classeur client.xls est fermé. Je pense, c'est facile à dire je sais, qu'en VBA il faudrait ouvrir le classeur client.xls puis copier toutes les valeurs dans des variables, fermer client.xls et enfin tout recopier dans facture.xls.
MERCI D'AVANCE A CEUX QUI M'AIDERONT
ABED HADDOU
Bonsoir Damien,
Voici le code retouché
Private Sub Worksheet_SelectionChange(ByVal Target As Range) If Target.Column <> 2 Then Exit Sub table End Sub
Public CodeC, NomC, PrenC
Sub table() 'References=Microsoft ActiveX Data Obgects 2.8 Library On Error Resume Next Dim cnn As String Dim sql As String CodeC = "" NomC = "" PrenC = "" Dim Rst As ADODB.Recordset cnn = "Provider=Microsoft.Jet.OLEDB.4.0;" & _ "Data source=d:Clients.xls;" & _ "Extended properties=Excel 8.0;" sql = "Select * from [Feuil1$];" Set Rst = New ADODB.Recordset i = 1 Rst.Open sql, cnn, adOpenForwardOnly CodeC = ActiveCell.Previous With Rst Do While Not .EOF ligne = ActiveCell.Row If .Fields!Code = CodeC Then NomC = .Fields!Nom PrenC = .Fields!Prenom Exit Do End If .MoveNext i = i + 1 Loop If NomC <> "" Then Feuil1.Range("b" & ligne).Value = NomC Feuil1.Range("C" & ligne).Value = PrenC Exit Sub Else MsgBox "Client inexistant !" Feuil1.Range("A" & ligne).Activate End If End With End Sub
A bientôt et Bonne soirée
Merci ABED HADDOU, malheureusement le programme a un petit probleme, en effet il me prend toujours la dernière valeur de la liste de code. en fait il ne trouve pas par rapport au code que je met dans ma facture.
Merci si tu peux m'aider
Bonsoir Damien,
Essai ce code ça devait marcher si la codification client est en alphanumérique 'References=Microsoft ActiveX Data Obgects 2.8 Library
Private Sub Worksheet_SelectionChange(ByVal Target As Range) table End Sub
C1..C2..ect Public CodeC, NomC, PrenC Sub table() On Error Resume Next Dim cnn As String Dim sql As String CodeC = "" Dim Rst As ADODB.Recordset cnn = "Provider=Microsoft.Jet.OLEDB.4.0;" & _ "Data source=d:Clients.xls;" & _ "Extended properties=Excel 8.0;" sql = "Select * from [Feuil1$];" Set Rst = New ADODB.Recordset i = 1 Rst.Open sql, cnn, adOpenForwardOnly CodeC = ActiveCell.Previous With Rst Do While Not .EOF ligne = ActiveCell.Row If .Fields!Code = CodeC Then NomC = .Fields!Nom PrenC = .Fields!Prenom Feuil1.Range("b" & ligne).Value = NomC Feuil1.Range("C" & ligne).Value = PrenC End If .MoveNext i = i + 1 Loop
Cordialement.
Bonjour, j'ai un problème pour des factures: je m'explique j'ai deux classeur facture.xls et clients.xls. Client.xls se présente comme suis code nom prenom 1 Moi je 2 toi tu 3 il lui Dans facture.xls je voudrais mettre dans la cellule A1 le code du client 1 par exemple. ensuite je voudrais que dans B1 il y ai le nom et dans B2 le prenom. J'ai synthétisé mais l'esprit est là. le classeur client.xls est fermé. Je pense, c'est facile à dire je sais, qu'en VBA il faudrait ouvrir le classeur client.xls puis copier toutes les valeurs dans des variables, fermer client.xls et enfin tout recopier dans facture.xls.
MERCI D'AVANCE A CEUX QUI M'AIDERONT
Bonsoir Damien,
Voici le code retouché
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Column <> 2 Then Exit Sub
table
End Sub
Public CodeC, NomC, PrenC
Sub table()
'References=Microsoft ActiveX Data Obgects 2.8 Library
On Error Resume Next
Dim cnn As String
Dim sql As String
CodeC = ""
NomC = ""
PrenC = ""
Dim Rst As ADODB.Recordset
cnn = "Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data source=d:Clients.xls;" & _
"Extended properties=Excel 8.0;"
sql = "Select * from [Feuil1$];"
Set Rst = New ADODB.Recordset
i = 1
Rst.Open sql, cnn, adOpenForwardOnly
CodeC = ActiveCell.Previous
With Rst
Do While Not .EOF
ligne = ActiveCell.Row
If .Fields!Code = CodeC Then
NomC = .Fields!Nom
PrenC = .Fields!Prenom
Exit Do
End If
.MoveNext
i = i + 1
Loop
If NomC <> "" Then
Feuil1.Range("b" & ligne).Value = NomC
Feuil1.Range("C" & ligne).Value = PrenC
Exit Sub
Else
MsgBox "Client inexistant !"
Feuil1.Range("A" & ligne).Activate
End If
End With
End Sub
A bientôt et Bonne soirée
Merci ABED HADDOU,
malheureusement le programme a un petit probleme,
en effet il me prend toujours la dernière valeur de la liste de code.
en fait il ne trouve pas par rapport au code que je met dans ma facture.
Merci si tu peux m'aider
Bonsoir Damien,
Essai ce code ça devait marcher si la codification client est en
alphanumérique
'References=Microsoft ActiveX Data Obgects 2.8 Library
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
table
End Sub
C1..C2..ect
Public CodeC, NomC, PrenC
Sub table()
On Error Resume Next
Dim cnn As String
Dim sql As String
CodeC = ""
Dim Rst As ADODB.Recordset
cnn = "Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data source=d:Clients.xls;" & _
"Extended properties=Excel 8.0;"
sql = "Select * from [Feuil1$];"
Set Rst = New ADODB.Recordset
i = 1
Rst.Open sql, cnn, adOpenForwardOnly
CodeC = ActiveCell.Previous
With Rst
Do While Not .EOF
ligne = ActiveCell.Row
If .Fields!Code = CodeC Then
NomC = .Fields!Nom
PrenC = .Fields!Prenom
Feuil1.Range("b" & ligne).Value = NomC
Feuil1.Range("C" & ligne).Value = PrenC
End If
.MoveNext
i = i + 1
Loop
Cordialement.
Bonjour,
j'ai un problème pour des factures: je m'explique j'ai deux classeur
facture.xls et clients.xls.
Client.xls se présente comme suis
code nom prenom
1 Moi je
2 toi tu
3 il lui
Dans facture.xls je voudrais mettre dans la cellule A1 le code du client
1 par exemple.
ensuite je voudrais que dans B1 il y ai le nom et dans B2 le prenom.
J'ai synthétisé mais l'esprit est là.
le classeur client.xls est fermé.
Je pense, c'est facile à dire je sais, qu'en VBA il faudrait ouvrir le
classeur client.xls puis copier toutes les valeurs dans des variables,
fermer client.xls et enfin tout recopier dans facture.xls.
Private Sub Worksheet_SelectionChange(ByVal Target As Range) If Target.Column <> 2 Then Exit Sub table End Sub
Public CodeC, NomC, PrenC
Sub table() 'References=Microsoft ActiveX Data Obgects 2.8 Library On Error Resume Next Dim cnn As String Dim sql As String CodeC = "" NomC = "" PrenC = "" Dim Rst As ADODB.Recordset cnn = "Provider=Microsoft.Jet.OLEDB.4.0;" & _ "Data source=d:Clients.xls;" & _ "Extended properties=Excel 8.0;" sql = "Select * from [Feuil1$];" Set Rst = New ADODB.Recordset i = 1 Rst.Open sql, cnn, adOpenForwardOnly CodeC = ActiveCell.Previous With Rst Do While Not .EOF ligne = ActiveCell.Row If .Fields!Code = CodeC Then NomC = .Fields!Nom PrenC = .Fields!Prenom Exit Do End If .MoveNext i = i + 1 Loop If NomC <> "" Then Feuil1.Range("b" & ligne).Value = NomC Feuil1.Range("C" & ligne).Value = PrenC Exit Sub Else MsgBox "Client inexistant !" Feuil1.Range("A" & ligne).Activate End If End With End Sub
A bientôt et Bonne soirée
Merci ABED HADDOU, malheureusement le programme a un petit probleme, en effet il me prend toujours la dernière valeur de la liste de code. en fait il ne trouve pas par rapport au code que je met dans ma facture.
Merci si tu peux m'aider
Bonsoir Damien,
Essai ce code ça devait marcher si la codification client est en alphanumérique 'References=Microsoft ActiveX Data Obgects 2.8 Library
Private Sub Worksheet_SelectionChange(ByVal Target As Range) table End Sub
C1..C2..ect Public CodeC, NomC, PrenC Sub table() On Error Resume Next Dim cnn As String Dim sql As String CodeC = "" Dim Rst As ADODB.Recordset cnn = "Provider=Microsoft.Jet.OLEDB.4.0;" & _ "Data source=d:Clients.xls;" & _ "Extended properties=Excel 8.0;" sql = "Select * from [Feuil1$];" Set Rst = New ADODB.Recordset i = 1 Rst.Open sql, cnn, adOpenForwardOnly CodeC = ActiveCell.Previous With Rst Do While Not .EOF ligne = ActiveCell.Row If .Fields!Code = CodeC Then NomC = .Fields!Nom PrenC = .Fields!Prenom Feuil1.Range("b" & ligne).Value = NomC Feuil1.Range("C" & ligne).Value = PrenC End If .MoveNext i = i + 1 Loop
Cordialement.
Bonjour, j'ai un problème pour des factures: je m'explique j'ai deux classeur facture.xls et clients.xls. Client.xls se présente comme suis code nom prenom 1 Moi je 2 toi tu 3 il lui Dans facture.xls je voudrais mettre dans la cellule A1 le code du client 1 par exemple. ensuite je voudrais que dans B1 il y ai le nom et dans B2 le prenom. J'ai synthétisé mais l'esprit est là. le classeur client.xls est fermé. Je pense, c'est facile à dire je sais, qu'en VBA il faudrait ouvrir le classeur client.xls puis copier toutes les valeurs dans des variables, fermer client.xls et enfin tout recopier dans facture.xls.