Modification Code Valider, en Code Modifier

  • Initiateur de la discussion Initiateur de la discussion MuscatMimi
  • 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 !

MuscatMimi

XLDnaute Accro
Bonjour
Dans la procédure ci-dessous, qui me sert a Valider des données dans Feuil, d'un Classeur fermé
ca fonctionne,
La ou je but, c'est que je désire modifier cette procédure, afin de pouvoir
modifier, les données d'une ligne(un ou plusieur champ)


Voici mon Code du Btn "Valider"

Code:
Private Sub CommandButton2_Click()

'necessite d'activer la reference Microsoft ActiveX Data Objects x.x Library
Dim Cn As ADODB.Connection
Dim rs As ADODB.Recordset
Dim Fichier As String, Cible As String, Feuille As String
Dim i As Byte

Fichier = ThisWorkbook.Path & "\fichierFerme.xls" 'fichier fermer, est le nom du fichier
Feuille = "Feuil1$" 'attention a ne pas oublier le "$"nom de la feuille
Set Cn = New ADODB.Connection
Cn.Open "Provider = Microsoft.Jet.OLEDB.4.0;" & _
                "data source=" & Fichier & ";" & _
                "extended properties=""Excel 8.0;"""
                
Cible = "SELECT * FROM [" & Feuille & "];"

Set rs = New Recordset
rs.Open Cible, Cn, adOpenKeyset, adLockOptimistic

    With rs
    .AddNew
    .Fields(0) = TextBox1
    .Fields(1) = TextBox2
    .Fields(2) = TextBox3
    .Fields(3) = TextBox4
    .Fields(4) = TextBox5
  
.Update
   
    End With
 rs.Close
Cn.Close

End Sub

Merci de votre aide

Cordialement
 
Re : Modification Code Valider, en Code Modifier

Salut Vaucluse immo

Tu peux utiliser ce code
Code:
' Ecrire dans un classeur fermé
Sub EcritDatas()
Dim Fich$, cell As Range
  
  Fich = "d:\TestAdo.xls" 'à adapter
  
  'écrit dans le classeur fermé la valeur des cellules A1:A5
  'du classeur actif
  For Each cell In ActiveWorkbook.Sheets("Feuil1").Range("A1:A5")
    SetExternalDatas Fich, "Feuil1", cell.Address(0, 0), cell.Text
  Next
  
  'écrit en A6 la date et l'heure de l'opération
  SetExternalDatas Fich, "Feuil1", "A6", "mise à jour du " & Now
  
  'on regarde le résultat
  DoEvents
  Workbooks.Open Fich
  
End Sub

'écrit DataToWrite dans la cellule DestCellAdr
'de la feuille DestFeuille du classeur fermé DestFile
Sub SetExternalDatas(DestFile As String, _
               DestFeuille As String, _
               DestCellAdr As String, _
               DataToWrite As Variant)
Dim oConn As ADODB.Connection
Dim oCmd As ADODB.Command
Dim oRS As ADODB.Recordset
Dim RangeDest
'd'après Rob Bovey, mpep

  ' Open a connection to the Excel spreadsheet
  Set oConn = New ADODB.Connection
  oConn.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & _
           "Data Source=" & DestFile & ";" & _
           "Extended Properties=""Excel 8.0;HDR=No;"";"

  ' Create a command object and set its ActiveConnection
  Set oCmd = New ADODB.Command
  oCmd.ActiveConnection = oConn

  ' This SQL statement selects a cell range in the "feuilleTest" worksheet.
  '1 Sélection pour écrire dans une seule cellule
  RangeDest = DestCellAdr & ":" & DestCellAdr
  oCmd.CommandText = "SELECT * from `" & DestFeuille & "$" & RangeDest & "`"

  ' Open a recordset containing the worksheet data.
  Set oRS = New ADODB.Recordset
  oRS.Open oCmd, , adOpenKeyset, adLockOptimistic

  ' Update last row
  oRS(0).Value = DataToWrite
  oRS.Update
  
  'Close the connection
  oConn.Close
  Set oConn = Nothing
  Set oCmd = Nothing
  Set oRS = Nothing

End Sub

A+
 
Re : Modification Code Valider, en Code Modifier

Bonjour Bruno

merci de ton intervention

Mais je crois pas que tu es compris ce que je demande, ou je me suis mal exprimé
dans mon classeur ouvert, j'ai deux Usf,
un qui me sert a entrer des données et valider dans le classeur fermé
le deuxième, me sert a lire les données du classeur fermé, via une Cbx et des Tbx
Dans cet Usf j'ai placer un Btn, pour modifier certaine données affichées dans mes Tbx
et valider ces modifs dans le classeur fermé, sans pour cela ajouter une ligne

me suis-je bien exprimé???

a plus
 
Re : Modification Code Valider, en Code Modifier

Re,

Non tu ne t'es pas mal exprimé, tu n'as pas compris le code que je t'ai donné, c'est tout ...

Mon code n'ajoute pas de ligne, mais fait simplement une mise à jour de la plage référencée.

En revanche ... à toi d'adapter le code pour tes besoins ....

A+
 
Re : Modification Code Valider, en Code Modifier

Bonsoir Bruno

Bon je suis arriver a copier les données classeur ouvert dans classeur fermé(avec le code que tu m'a donné)
Mais ce n'est pas cela que je cherche a faire,
relis bien mon premier message

Je travaille avec un Usf
dans cet Usf, j'affiche mes données de mon Classeur Fermé, dans une ListView
au cliq sur une ligne dans ma ListView, j'affiche mes données de cette ligne dans des TextBox
dans ces TextBox, je modifie tel ou tel données,
et aprés j'ai un Btn qui me permet de valider mes Modifs,dans le classeur Fermé
dont le code est dans mon premier message,
mais ce code ne modifie que la premiére ligne
c'est avec ce code que j'ai un soucis

A plus
Cordialement
 
- 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
8
Affichages
733
Réponses
2
Affichages
1 K
Réponses
15
Affichages
3 K
Réponses
8
Affichages
11 K
Retour