Bonjour Nistan,
En supposant que j'ai compris l'énoncé de ta problématique,
A ) copie ce qui suit dans le classeur "Volatile"
B ) Le travail se fait sans devoir ouvrir le fichier "Fixe
C ) Première ligne des 2 fichiers, les étiquettes de colonnes
D ) La requête est ainsi faite : pour toutes les valeurs de la cellule A2:Ax de la feuil1 du fichier Volatile représenté par
l'étiquette de colonne SN, si cette cellule n'est pas vide et qu'elle trouve correspondance dans la colonne SN du fichier fixe,
modifie la Colonne NU avec la nouvelle valeur du fichier Volatile.
E ) Lis attentivement la macro, et assure-toi que le chemin et nom des fichiers sont exactes pour ton application. Il en va de même
pour les noms des feuilles utilisés dans la procédure. Dans la requête [Feuil1] est à remplacer par le nom de la feuille de ton
fichier "Fixe" où se retrouve les données.
F ) Enfin, j'espère que tu t'amuseras un peu !!! ;-))
'--------------------------------------------
Sub Vérification()
'requiert la bibliothèque suivante :
'Outils / référence / à cocher
'Microsoft Activex Data Objects 2.x Librairy
Dim Rst As New ADODB.Recordset
Dim Con As ADODB.Connection
Dim NomFichier As String
Dim Rg As Range, C As Range
Dim Requete As String, Nb As Long
NomFichier = ThisWorkbook.Path & "données.xls"
Set Con = New ADODB.Connection
Con.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=" & NomFichier & ";" & _
"Extended Properties=""Excel 8.0;HDR=YES;"""
'Défini la plage de cellules
With Worksheets("Feuil2") ' A déterminer
Set Rg = .Range("A2:A" & .Range("A65536").End(xlUp).Row)
End With
Application.EnableEvents = False
'pour chacune cellule de la plage Rg
For Each C In Rg
If C <> "" Then
Requete = "SELECT SN, Nu From [Feuil1$]" & vbCrLf & _
"Where SN = " & C '"Where SN = '" & C & "'"
'Exécution de la requête
Rst.Open Requete, Con, adOpenStatic, adLockOptimistic
'Si le recordset n'est pas vide...
If Rst.EOF = False Then
Nb = Rst.RecordCount
'Pour tous les enregistrements trouvés
For A = 1 To Nb
Rst(1).Value = C.Offset(, 2)
Rst.MoveNext
Next
'Ferme le recordset
Rst.Close
Else
Rst.Close
End If
End If
Next
Application.EnableEvents = True
Set Rg = Nothing: Set C = Nothing
Con.Close
Set Rst = Nothing: Set Con = Nothing
End Sub
'--------------------------------------------
Salutations!
"Nistan" a écrit dans le message de news:
Bonjour,
j'ai trois fichier excel qui se deconposent de la maniére suivante :
Le premier est statique ( Varie peu au cour du temps )
les deux autres sont volatiles ( I.E. extraction créé chaque semaine )
Besoin :
une macro capable d'importer les données d'un volatile vers le statiques. La
macro doit être dans le statique et on doit sélectionner un fichier sur le
disque...
dans le statique, j'ai 15 colonnes (sn, c, si, nu, nur, sp, d,... ) et 500
lignes
dans le volatile j'ai 7 colonnes ( sn, nu, nur, snu, snur, ... ) et 280 lignes
l'information que je recherche est la suivante :
Chaque fois que volatile sn = statiques sn
alors copie volatile nu dans statiques nu ( remplacement de la
valeur précédente )
alors copie volatile nur dans statiques nur ( remplacement de
la valeur précédente )
Merci d'avance pour votre aide.
Bonjour Nistan,
En supposant que j'ai compris l'énoncé de ta problématique,
A ) copie ce qui suit dans le classeur "Volatile"
B ) Le travail se fait sans devoir ouvrir le fichier "Fixe
C ) Première ligne des 2 fichiers, les étiquettes de colonnes
D ) La requête est ainsi faite : pour toutes les valeurs de la cellule A2:Ax de la feuil1 du fichier Volatile représenté par
l'étiquette de colonne SN, si cette cellule n'est pas vide et qu'elle trouve correspondance dans la colonne SN du fichier fixe,
modifie la Colonne NU avec la nouvelle valeur du fichier Volatile.
E ) Lis attentivement la macro, et assure-toi que le chemin et nom des fichiers sont exactes pour ton application. Il en va de même
pour les noms des feuilles utilisés dans la procédure. Dans la requête [Feuil1] est à remplacer par le nom de la feuille de ton
fichier "Fixe" où se retrouve les données.
F ) Enfin, j'espère que tu t'amuseras un peu !!! ;-))
'--------------------------------------------
Sub Vérification()
'requiert la bibliothèque suivante :
'Outils / référence / à cocher
'Microsoft Activex Data Objects 2.x Librairy
Dim Rst As New ADODB.Recordset
Dim Con As ADODB.Connection
Dim NomFichier As String
Dim Rg As Range, C As Range
Dim Requete As String, Nb As Long
NomFichier = ThisWorkbook.Path & "données.xls"
Set Con = New ADODB.Connection
Con.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=" & NomFichier & ";" & _
"Extended Properties=""Excel 8.0;HDR=YES;"""
'Défini la plage de cellules
With Worksheets("Feuil2") ' A déterminer
Set Rg = .Range("A2:A" & .Range("A65536").End(xlUp).Row)
End With
Application.EnableEvents = False
'pour chacune cellule de la plage Rg
For Each C In Rg
If C <> "" Then
Requete = "SELECT SN, Nu From [Feuil1$]" & vbCrLf & _
"Where SN = " & C '"Where SN = '" & C & "'"
'Exécution de la requête
Rst.Open Requete, Con, adOpenStatic, adLockOptimistic
'Si le recordset n'est pas vide...
If Rst.EOF = False Then
Nb = Rst.RecordCount
'Pour tous les enregistrements trouvés
For A = 1 To Nb
Rst(1).Value = C.Offset(, 2)
Rst.MoveNext
Next
'Ferme le recordset
Rst.Close
Else
Rst.Close
End If
End If
Next
Application.EnableEvents = True
Set Rg = Nothing: Set C = Nothing
Con.Close
Set Rst = Nothing: Set Con = Nothing
End Sub
'--------------------------------------------
Salutations!
"Nistan" <Nistan@discussions.microsoft.com> a écrit dans le message de news: F0B561ED-C124-4339-90BF-710D4F63C9B9@microsoft.com...
Bonjour,
j'ai trois fichier excel qui se deconposent de la maniére suivante :
Le premier est statique ( Varie peu au cour du temps )
les deux autres sont volatiles ( I.E. extraction créé chaque semaine )
Besoin :
une macro capable d'importer les données d'un volatile vers le statiques. La
macro doit être dans le statique et on doit sélectionner un fichier sur le
disque...
dans le statique, j'ai 15 colonnes (sn, c, si, nu, nur, sp, d,... ) et 500
lignes
dans le volatile j'ai 7 colonnes ( sn, nu, nur, snu, snur, ... ) et 280 lignes
l'information que je recherche est la suivante :
Chaque fois que volatile sn = statiques sn
alors copie volatile nu dans statiques nu ( remplacement de la
valeur précédente )
alors copie volatile nur dans statiques nur ( remplacement de
la valeur précédente )
Merci d'avance pour votre aide.
Bonjour Nistan,
En supposant que j'ai compris l'énoncé de ta problématique,
A ) copie ce qui suit dans le classeur "Volatile"
B ) Le travail se fait sans devoir ouvrir le fichier "Fixe
C ) Première ligne des 2 fichiers, les étiquettes de colonnes
D ) La requête est ainsi faite : pour toutes les valeurs de la cellule A2:Ax de la feuil1 du fichier Volatile représenté par
l'étiquette de colonne SN, si cette cellule n'est pas vide et qu'elle trouve correspondance dans la colonne SN du fichier fixe,
modifie la Colonne NU avec la nouvelle valeur du fichier Volatile.
E ) Lis attentivement la macro, et assure-toi que le chemin et nom des fichiers sont exactes pour ton application. Il en va de même
pour les noms des feuilles utilisés dans la procédure. Dans la requête [Feuil1] est à remplacer par le nom de la feuille de ton
fichier "Fixe" où se retrouve les données.
F ) Enfin, j'espère que tu t'amuseras un peu !!! ;-))
'--------------------------------------------
Sub Vérification()
'requiert la bibliothèque suivante :
'Outils / référence / à cocher
'Microsoft Activex Data Objects 2.x Librairy
Dim Rst As New ADODB.Recordset
Dim Con As ADODB.Connection
Dim NomFichier As String
Dim Rg As Range, C As Range
Dim Requete As String, Nb As Long
NomFichier = ThisWorkbook.Path & "données.xls"
Set Con = New ADODB.Connection
Con.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=" & NomFichier & ";" & _
"Extended Properties=""Excel 8.0;HDR=YES;"""
'Défini la plage de cellules
With Worksheets("Feuil2") ' A déterminer
Set Rg = .Range("A2:A" & .Range("A65536").End(xlUp).Row)
End With
Application.EnableEvents = False
'pour chacune cellule de la plage Rg
For Each C In Rg
If C <> "" Then
Requete = "SELECT SN, Nu From [Feuil1$]" & vbCrLf & _
"Where SN = " & C '"Where SN = '" & C & "'"
'Exécution de la requête
Rst.Open Requete, Con, adOpenStatic, adLockOptimistic
'Si le recordset n'est pas vide...
If Rst.EOF = False Then
Nb = Rst.RecordCount
'Pour tous les enregistrements trouvés
For A = 1 To Nb
Rst(1).Value = C.Offset(, 2)
Rst.MoveNext
Next
'Ferme le recordset
Rst.Close
Else
Rst.Close
End If
End If
Next
Application.EnableEvents = True
Set Rg = Nothing: Set C = Nothing
Con.Close
Set Rst = Nothing: Set Con = Nothing
End Sub
'--------------------------------------------
Salutations!
"Nistan" a écrit dans le message de news:
Bonjour,
j'ai trois fichier excel qui se deconposent de la maniére suivante :
Le premier est statique ( Varie peu au cour du temps )
les deux autres sont volatiles ( I.E. extraction créé chaque semaine )
Besoin :
une macro capable d'importer les données d'un volatile vers le statiques. La
macro doit être dans le statique et on doit sélectionner un fichier sur le
disque...
dans le statique, j'ai 15 colonnes (sn, c, si, nu, nur, sp, d,... ) et 500
lignes
dans le volatile j'ai 7 colonnes ( sn, nu, nur, snu, snur, ... ) et 280 lignes
l'information que je recherche est la suivante :
Chaque fois que volatile sn = statiques sn
alors copie volatile nu dans statiques nu ( remplacement de la
valeur précédente )
alors copie volatile nur dans statiques nur ( remplacement de
la valeur précédente )
Merci d'avance pour votre aide.
Bonjour Nistan,
En supposant que j'ai compris l'énoncé de ta problématique,
A ) copie ce qui suit dans le classeur "Volatile"
B ) Le travail se fait sans devoir ouvrir le fichier "Fixe
C ) Première ligne des 2 fichiers, les étiquettes de colonnes
D ) La requête est ainsi faite : pour toutes les valeurs de la cellule A2:Ax de la feuil1 du fichier Volatile représenté par
l'étiquette de colonne SN, si cette cellule n'est pas vide et qu'elle trouve correspondance dans la colonne SN du fichier fixe,
modifie la Colonne NU avec la nouvelle valeur du fichier Volatile.
E ) Lis attentivement la macro, et assure-toi que le chemin et nom des fichiers sont exactes pour ton application. Il en va de même
pour les noms des feuilles utilisés dans la procédure. Dans la requête [Feuil1] est à remplacer par le nom de la feuille de ton
fichier "Fixe" où se retrouve les données.
F ) Enfin, j'espère que tu t'amuseras un peu !!! ;-))
'--------------------------------------------
Sub Vérification()
'requiert la bibliothèque suivante :
'Outils / référence / à cocher
'Microsoft Activex Data Objects 2.x Librairy
Dim Rst As New ADODB.Recordset
Dim Con As ADODB.Connection
Dim NomFichier As String
Dim Rg As Range, C As Range
Dim Requete As String, Nb As Long
NomFichier = ThisWorkbook.Path & "données.xls"
Set Con = New ADODB.Connection
Con.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=" & NomFichier & ";" & _
"Extended Properties=""Excel 8.0;HDR=YES;"""
'Défini la plage de cellules
With Worksheets("Feuil2") ' A déterminer
Set Rg = .Range("A2:A" & .Range("A65536").End(xlUp).Row)
End With
Application.EnableEvents = False
'pour chacune cellule de la plage Rg
For Each C In Rg
If C <> "" Then
Requete = "SELECT SN, Nu From [Feuil1$]" & vbCrLf & _
"Where SN = " & C '"Where SN = '" & C & "'"
'Exécution de la requête
Rst.Open Requete, Con, adOpenStatic, adLockOptimistic
'Si le recordset n'est pas vide...
If Rst.EOF = False Then
Nb = Rst.RecordCount
'Pour tous les enregistrements trouvés
For A = 1 To Nb
Rst(1).Value = C.Offset(, 2)
Rst.MoveNext
Next
'Ferme le recordset
Rst.Close
Else
Rst.Close
End If
End If
Next
Application.EnableEvents = True
Set Rg = Nothing: Set C = Nothing
Con.Close
Set Rst = Nothing: Set Con = Nothing
End Sub
'--------------------------------------------
Salutations!
"Nistan" a écrit dans le message de news:
Bonjour,
j'ai trois fichier excel qui se deconposent de la maniére suivante :
Le premier est statique ( Varie peu au cour du temps )
les deux autres sont volatiles ( I.E. extraction créé chaque semaine )
Besoin :
une macro capable d'importer les données d'un volatile vers le statiques. La
macro doit être dans le statique et on doit sélectionner un fichier sur le
disque...
dans le statique, j'ai 15 colonnes (sn, c, si, nu, nur, sp, d,... ) et 500
lignes
dans le volatile j'ai 7 colonnes ( sn, nu, nur, snu, snur, ... ) et 280 lignes
l'information que je recherche est la suivante :
Chaque fois que volatile sn = statiques sn
alors copie volatile nu dans statiques nu ( remplacement de la
valeur précédente )
alors copie volatile nur dans statiques nur ( remplacement de
la valeur précédente )
Merci d'avance pour votre aide.
Bonjour Nistan,
En supposant que j'ai compris l'énoncé de ta problématique,
A ) copie ce qui suit dans le classeur "Volatile"
B ) Le travail se fait sans devoir ouvrir le fichier "Fixe
C ) Première ligne des 2 fichiers, les étiquettes de colonnes
D ) La requête est ainsi faite : pour toutes les valeurs de la cellule A2:Ax de la feuil1 du fichier Volatile représenté par
l'étiquette de colonne SN, si cette cellule n'est pas vide et qu'elle trouve correspondance dans la colonne SN du fichier fixe,
modifie la Colonne NU avec la nouvelle valeur du fichier Volatile.
E ) Lis attentivement la macro, et assure-toi que le chemin et nom des fichiers sont exactes pour ton application. Il en va de même
pour les noms des feuilles utilisés dans la procédure. Dans la requête [Feuil1] est à remplacer par le nom de la feuille de ton
fichier "Fixe" où se retrouve les données.
F ) Enfin, j'espère que tu t'amuseras un peu !!! ;-))
'--------------------------------------------
Sub Vérification()
'requiert la bibliothèque suivante :
'Outils / référence / à cocher
'Microsoft Activex Data Objects 2.x Librairy
Dim Rst As New ADODB.Recordset
Dim Con As ADODB.Connection
Dim NomFichier As String
Dim Rg As Range, C As Range
Dim Requete As String, Nb As Long
NomFichier = ThisWorkbook.Path & "données.xls"
Set Con = New ADODB.Connection
Con.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=" & NomFichier & ";" & _
"Extended Properties=""Excel 8.0;HDR=YES;"""
'Défini la plage de cellules
With Worksheets("Feuil2") ' A déterminer
Set Rg = .Range("A2:A" & .Range("A65536").End(xlUp).Row)
End With
Application.EnableEvents = False
'pour chacune cellule de la plage Rg
For Each C In Rg
If C <> "" Then
Requete = "SELECT SN, Nu From [Feuil1$]" & vbCrLf & _
"Where SN = " & C '"Where SN = '" & C & "'"
'Exécution de la requête
Rst.Open Requete, Con, adOpenStatic, adLockOptimistic
'Si le recordset n'est pas vide...
If Rst.EOF = False Then
Nb = Rst.RecordCount
'Pour tous les enregistrements trouvés
For A = 1 To Nb
Rst(1).Value = C.Offset(, 2)
Rst.MoveNext
Next
'Ferme le recordset
Rst.Close
Else
Rst.Close
End If
End If
Next
Application.EnableEvents = True
Set Rg = Nothing: Set C = Nothing
Con.Close
Set Rst = Nothing: Set Con = Nothing
End Sub
'--------------------------------------------
Salutations!
"Nistan" <Nistan@discussions.microsoft.com> a écrit dans le message de news: F0B561ED-C124-4339-90BF-710D4F63C9B9@microsoft.com...
Bonjour,
j'ai trois fichier excel qui se deconposent de la maniére suivante :
Le premier est statique ( Varie peu au cour du temps )
les deux autres sont volatiles ( I.E. extraction créé chaque semaine )
Besoin :
une macro capable d'importer les données d'un volatile vers le statiques. La
macro doit être dans le statique et on doit sélectionner un fichier sur le
disque...
dans le statique, j'ai 15 colonnes (sn, c, si, nu, nur, sp, d,... ) et 500
lignes
dans le volatile j'ai 7 colonnes ( sn, nu, nur, snu, snur, ... ) et 280 lignes
l'information que je recherche est la suivante :
Chaque fois que volatile sn = statiques sn
alors copie volatile nu dans statiques nu ( remplacement de la
valeur précédente )
alors copie volatile nur dans statiques nur ( remplacement de
la valeur précédente )
Merci d'avance pour votre aide.
Bonjour Nistan,
En supposant que j'ai compris l'énoncé de ta problématique,
A ) copie ce qui suit dans le classeur "Volatile"
B ) Le travail se fait sans devoir ouvrir le fichier "Fixe
C ) Première ligne des 2 fichiers, les étiquettes de colonnes
D ) La requête est ainsi faite : pour toutes les valeurs de la cellule A2:Ax de la feuil1 du fichier Volatile représenté par
l'étiquette de colonne SN, si cette cellule n'est pas vide et qu'elle trouve correspondance dans la colonne SN du fichier fixe,
modifie la Colonne NU avec la nouvelle valeur du fichier Volatile.
E ) Lis attentivement la macro, et assure-toi que le chemin et nom des fichiers sont exactes pour ton application. Il en va de même
pour les noms des feuilles utilisés dans la procédure. Dans la requête [Feuil1] est à remplacer par le nom de la feuille de ton
fichier "Fixe" où se retrouve les données.
F ) Enfin, j'espère que tu t'amuseras un peu !!! ;-))
'--------------------------------------------
Sub Vérification()
'requiert la bibliothèque suivante :
'Outils / référence / à cocher
'Microsoft Activex Data Objects 2.x Librairy
Dim Rst As New ADODB.Recordset
Dim Con As ADODB.Connection
Dim NomFichier As String
Dim Rg As Range, C As Range
Dim Requete As String, Nb As Long
NomFichier = ThisWorkbook.Path & "données.xls"
Set Con = New ADODB.Connection
Con.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=" & NomFichier & ";" & _
"Extended Properties=""Excel 8.0;HDR=YES;"""
'Défini la plage de cellules
With Worksheets("Feuil2") ' A déterminer
Set Rg = .Range("A2:A" & .Range("A65536").End(xlUp).Row)
End With
Application.EnableEvents = False
'pour chacune cellule de la plage Rg
For Each C In Rg
If C <> "" Then
Requete = "SELECT SN, Nu From [Feuil1$]" & vbCrLf & _
"Where SN = " & C '"Where SN = '" & C & "'"
'Exécution de la requête
Rst.Open Requete, Con, adOpenStatic, adLockOptimistic
'Si le recordset n'est pas vide...
If Rst.EOF = False Then
Nb = Rst.RecordCount
'Pour tous les enregistrements trouvés
For A = 1 To Nb
Rst(1).Value = C.Offset(, 2)
Rst.MoveNext
Next
'Ferme le recordset
Rst.Close
Else
Rst.Close
End If
End If
Next
Application.EnableEvents = True
Set Rg = Nothing: Set C = Nothing
Con.Close
Set Rst = Nothing: Set Con = Nothing
End Sub
'--------------------------------------------
Salutations!
"Nistan" a écrit dans le message de news:
Bonjour,
j'ai trois fichier excel qui se deconposent de la maniére suivante :
Le premier est statique ( Varie peu au cour du temps )
les deux autres sont volatiles ( I.E. extraction créé chaque semaine )
Besoin :
une macro capable d'importer les données d'un volatile vers le statiques. La
macro doit être dans le statique et on doit sélectionner un fichier sur le
disque...
dans le statique, j'ai 15 colonnes (sn, c, si, nu, nur, sp, d,... ) et 500
lignes
dans le volatile j'ai 7 colonnes ( sn, nu, nur, snu, snur, ... ) et 280 lignes
l'information que je recherche est la suivante :
Chaque fois que volatile sn = statiques sn
alors copie volatile nu dans statiques nu ( remplacement de la
valeur précédente )
alors copie volatile nur dans statiques nur ( remplacement de
la valeur précédente )
Merci d'avance pour votre aide.
Bonjour Nistan,
En supposant que j'ai compris l'énoncé de ta problématique,
A ) copie ce qui suit dans le classeur "Volatile"
B ) Le travail se fait sans devoir ouvrir le fichier "Fixe
C ) Première ligne des 2 fichiers, les étiquettes de colonnes
D ) La requête est ainsi faite : pour toutes les valeurs de la cellule A2:Ax de la feuil1 du fichier Volatile représenté par
l'étiquette de colonne SN, si cette cellule n'est pas vide et qu'elle trouve correspondance dans la colonne SN du fichier fixe,
modifie la Colonne NU avec la nouvelle valeur du fichier Volatile.
E ) Lis attentivement la macro, et assure-toi que le chemin et nom des fichiers sont exactes pour ton application. Il en va de
même
pour les noms des feuilles utilisés dans la procédure. Dans la requête [Feuil1] est à remplacer par le nom de la feuille de ton
fichier "Fixe" où se retrouve les données.
F ) Enfin, j'espère que tu t'amuseras un peu !!! ;-))
'--------------------------------------------
Sub Vérification()
'requiert la bibliothèque suivante :
'Outils / référence / à cocher
'Microsoft Activex Data Objects 2.x Librairy
Dim Rst As New ADODB.Recordset
Dim Con As ADODB.Connection
Dim NomFichier As String
Dim Rg As Range, C As Range
Dim Requete As String, Nb As Long
NomFichier = ThisWorkbook.Path & "données.xls"
Set Con = New ADODB.Connection
Con.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=" & NomFichier & ";" & _
"Extended Properties=""Excel 8.0;HDR=YES;"""
'Défini la plage de cellules
With Worksheets("Feuil2") ' A déterminer
Set Rg = .Range("A2:A" & .Range("A65536").End(xlUp).Row)
End With
Application.EnableEvents = False
'pour chacune cellule de la plage Rg
For Each C In Rg
If C <> "" Then
Requete = "SELECT SN, Nu From [Feuil1$]" & vbCrLf & _
"Where SN = " & C '"Where SN = '" & C & "'"
'Exécution de la requête
Rst.Open Requete, Con, adOpenStatic, adLockOptimistic
'Si le recordset n'est pas vide...
If Rst.EOF = False Then
Nb = Rst.RecordCount
'Pour tous les enregistrements trouvés
For A = 1 To Nb
Rst(1).Value = C.Offset(, 2)
Rst.MoveNext
Next
'Ferme le recordset
Rst.Close
Else
Rst.Close
End If
End If
Next
Application.EnableEvents = True
Set Rg = Nothing: Set C = Nothing
Con.Close
Set Rst = Nothing: Set Con = Nothing
End Sub
'--------------------------------------------
Salutations!
"Nistan" a écrit dans le message de news:
Bonjour,
j'ai trois fichier excel qui se deconposent de la maniére suivante :
Le premier est statique ( Varie peu au cour du temps )
les deux autres sont volatiles ( I.E. extraction créé chaque semaine )
Besoin :
une macro capable d'importer les données d'un volatile vers le statiques. La
macro doit être dans le statique et on doit sélectionner un fichier sur le
disque...
dans le statique, j'ai 15 colonnes (sn, c, si, nu, nur, sp, d,... ) et 500
lignes
dans le volatile j'ai 7 colonnes ( sn, nu, nur, snu, snur, ... ) et 280 lignes
l'information que je recherche est la suivante :
Chaque fois que volatile sn = statiques sn
alors copie volatile nu dans statiques nu ( remplacement de la
valeur précédente )
alors copie volatile nur dans statiques nur ( remplacement de
la valeur précédente )
Merci d'avance pour votre aide.
Bonjour Nistan,
En supposant que j'ai compris l'énoncé de ta problématique,
A ) copie ce qui suit dans le classeur "Volatile"
B ) Le travail se fait sans devoir ouvrir le fichier "Fixe
C ) Première ligne des 2 fichiers, les étiquettes de colonnes
D ) La requête est ainsi faite : pour toutes les valeurs de la cellule A2:Ax de la feuil1 du fichier Volatile représenté par
l'étiquette de colonne SN, si cette cellule n'est pas vide et qu'elle trouve correspondance dans la colonne SN du fichier fixe,
modifie la Colonne NU avec la nouvelle valeur du fichier Volatile.
E ) Lis attentivement la macro, et assure-toi que le chemin et nom des fichiers sont exactes pour ton application. Il en va de
même
pour les noms des feuilles utilisés dans la procédure. Dans la requête [Feuil1] est à remplacer par le nom de la feuille de ton
fichier "Fixe" où se retrouve les données.
F ) Enfin, j'espère que tu t'amuseras un peu !!! ;-))
'--------------------------------------------
Sub Vérification()
'requiert la bibliothèque suivante :
'Outils / référence / à cocher
'Microsoft Activex Data Objects 2.x Librairy
Dim Rst As New ADODB.Recordset
Dim Con As ADODB.Connection
Dim NomFichier As String
Dim Rg As Range, C As Range
Dim Requete As String, Nb As Long
NomFichier = ThisWorkbook.Path & "données.xls"
Set Con = New ADODB.Connection
Con.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=" & NomFichier & ";" & _
"Extended Properties=""Excel 8.0;HDR=YES;"""
'Défini la plage de cellules
With Worksheets("Feuil2") ' A déterminer
Set Rg = .Range("A2:A" & .Range("A65536").End(xlUp).Row)
End With
Application.EnableEvents = False
'pour chacune cellule de la plage Rg
For Each C In Rg
If C <> "" Then
Requete = "SELECT SN, Nu From [Feuil1$]" & vbCrLf & _
"Where SN = " & C '"Where SN = '" & C & "'"
'Exécution de la requête
Rst.Open Requete, Con, adOpenStatic, adLockOptimistic
'Si le recordset n'est pas vide...
If Rst.EOF = False Then
Nb = Rst.RecordCount
'Pour tous les enregistrements trouvés
For A = 1 To Nb
Rst(1).Value = C.Offset(, 2)
Rst.MoveNext
Next
'Ferme le recordset
Rst.Close
Else
Rst.Close
End If
End If
Next
Application.EnableEvents = True
Set Rg = Nothing: Set C = Nothing
Con.Close
Set Rst = Nothing: Set Con = Nothing
End Sub
'--------------------------------------------
Salutations!
"Nistan" <Nistan@discussions.microsoft.com> a écrit dans le message de news: F0B561ED-C124-4339-90BF-710D4F63C9B9@microsoft.com...
Bonjour,
j'ai trois fichier excel qui se deconposent de la maniére suivante :
Le premier est statique ( Varie peu au cour du temps )
les deux autres sont volatiles ( I.E. extraction créé chaque semaine )
Besoin :
une macro capable d'importer les données d'un volatile vers le statiques. La
macro doit être dans le statique et on doit sélectionner un fichier sur le
disque...
dans le statique, j'ai 15 colonnes (sn, c, si, nu, nur, sp, d,... ) et 500
lignes
dans le volatile j'ai 7 colonnes ( sn, nu, nur, snu, snur, ... ) et 280 lignes
l'information que je recherche est la suivante :
Chaque fois que volatile sn = statiques sn
alors copie volatile nu dans statiques nu ( remplacement de la
valeur précédente )
alors copie volatile nur dans statiques nur ( remplacement de
la valeur précédente )
Merci d'avance pour votre aide.
Bonjour Nistan,
En supposant que j'ai compris l'énoncé de ta problématique,
A ) copie ce qui suit dans le classeur "Volatile"
B ) Le travail se fait sans devoir ouvrir le fichier "Fixe
C ) Première ligne des 2 fichiers, les étiquettes de colonnes
D ) La requête est ainsi faite : pour toutes les valeurs de la cellule A2:Ax de la feuil1 du fichier Volatile représenté par
l'étiquette de colonne SN, si cette cellule n'est pas vide et qu'elle trouve correspondance dans la colonne SN du fichier fixe,
modifie la Colonne NU avec la nouvelle valeur du fichier Volatile.
E ) Lis attentivement la macro, et assure-toi que le chemin et nom des fichiers sont exactes pour ton application. Il en va de
même
pour les noms des feuilles utilisés dans la procédure. Dans la requête [Feuil1] est à remplacer par le nom de la feuille de ton
fichier "Fixe" où se retrouve les données.
F ) Enfin, j'espère que tu t'amuseras un peu !!! ;-))
'--------------------------------------------
Sub Vérification()
'requiert la bibliothèque suivante :
'Outils / référence / à cocher
'Microsoft Activex Data Objects 2.x Librairy
Dim Rst As New ADODB.Recordset
Dim Con As ADODB.Connection
Dim NomFichier As String
Dim Rg As Range, C As Range
Dim Requete As String, Nb As Long
NomFichier = ThisWorkbook.Path & "données.xls"
Set Con = New ADODB.Connection
Con.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=" & NomFichier & ";" & _
"Extended Properties=""Excel 8.0;HDR=YES;"""
'Défini la plage de cellules
With Worksheets("Feuil2") ' A déterminer
Set Rg = .Range("A2:A" & .Range("A65536").End(xlUp).Row)
End With
Application.EnableEvents = False
'pour chacune cellule de la plage Rg
For Each C In Rg
If C <> "" Then
Requete = "SELECT SN, Nu From [Feuil1$]" & vbCrLf & _
"Where SN = " & C '"Where SN = '" & C & "'"
'Exécution de la requête
Rst.Open Requete, Con, adOpenStatic, adLockOptimistic
'Si le recordset n'est pas vide...
If Rst.EOF = False Then
Nb = Rst.RecordCount
'Pour tous les enregistrements trouvés
For A = 1 To Nb
Rst(1).Value = C.Offset(, 2)
Rst.MoveNext
Next
'Ferme le recordset
Rst.Close
Else
Rst.Close
End If
End If
Next
Application.EnableEvents = True
Set Rg = Nothing: Set C = Nothing
Con.Close
Set Rst = Nothing: Set Con = Nothing
End Sub
'--------------------------------------------
Salutations!
"Nistan" a écrit dans le message de news:
Bonjour,
j'ai trois fichier excel qui se deconposent de la maniére suivante :
Le premier est statique ( Varie peu au cour du temps )
les deux autres sont volatiles ( I.E. extraction créé chaque semaine )
Besoin :
une macro capable d'importer les données d'un volatile vers le statiques. La
macro doit être dans le statique et on doit sélectionner un fichier sur le
disque...
dans le statique, j'ai 15 colonnes (sn, c, si, nu, nur, sp, d,... ) et 500
lignes
dans le volatile j'ai 7 colonnes ( sn, nu, nur, snu, snur, ... ) et 280 lignes
l'information que je recherche est la suivante :
Chaque fois que volatile sn = statiques sn
alors copie volatile nu dans statiques nu ( remplacement de la
valeur précédente )
alors copie volatile nur dans statiques nur ( remplacement de
la valeur précédente )
Merci d'avance pour votre aide.
Bonjour Nistan,
Est-ce possible que dans la colonne de SN, il y ait des doublons ? Est-ce toutes des entrées différentes ?
Salutations!
"Nistan" a écrit dans le message de news:
Merci
Mais comment Fais ton pour :
'requiert la bibliothèque suivante :
'Outils / référence / à cocher
'Microsoft Activex Data Objects 2.x LibrairyBonjour Nistan,
En supposant que j'ai compris l'énoncé de ta problématique,
A ) copie ce qui suit dans le classeur "Volatile"
B ) Le travail se fait sans devoir ouvrir le fichier "Fixe
C ) Première ligne des 2 fichiers, les étiquettes de colonnes
D ) La requête est ainsi faite : pour toutes les valeurs de la cellule A2:Ax de la feuil1 du fichier Volatile représenté par
l'étiquette de colonne SN, si cette cellule n'est pas vide et qu'elle trouve correspondance dans la colonne SN du fichier fixe,
modifie la Colonne NU avec la nouvelle valeur du fichier Volatile.
E ) Lis attentivement la macro, et assure-toi que le chemin et nom des fichiers sont exactes pour ton application. Il en va de
même
pour les noms des feuilles utilisés dans la procédure. Dans la requête [Feuil1] est à remplacer par le nom de la feuille de ton
fichier "Fixe" où se retrouve les données.
F ) Enfin, j'espère que tu t'amuseras un peu !!! ;-))
'--------------------------------------------
Sub Vérification()
'requiert la bibliothèque suivante :
'Outils / référence / à cocher
'Microsoft Activex Data Objects 2.x Librairy
Dim Rst As New ADODB.Recordset
Dim Con As ADODB.Connection
Dim NomFichier As String
Dim Rg As Range, C As Range
Dim Requete As String, Nb As Long
NomFichier = ThisWorkbook.Path & "données.xls"
Set Con = New ADODB.Connection
Con.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=" & NomFichier & ";" & _
"Extended Properties=""Excel 8.0;HDR=YES;"""
'Défini la plage de cellules
With Worksheets("Feuil2") ' A déterminer
Set Rg = .Range("A2:A" & .Range("A65536").End(xlUp).Row)
End With
Application.EnableEvents = False
'pour chacune cellule de la plage Rg
For Each C In Rg
If C <> "" Then
Requete = "SELECT SN, Nu From [Feuil1$]" & vbCrLf & _
"Where SN = " & C '"Where SN = '" & C & "'"
'Exécution de la requête
Rst.Open Requete, Con, adOpenStatic, adLockOptimistic
'Si le recordset n'est pas vide...
If Rst.EOF = False Then
Nb = Rst.RecordCount
'Pour tous les enregistrements trouvés
For A = 1 To Nb
Rst(1).Value = C.Offset(, 2)
Rst.MoveNext
Next
'Ferme le recordset
Rst.Close
Else
Rst.Close
End If
End If
Next
Application.EnableEvents = True
Set Rg = Nothing: Set C = Nothing
Con.Close
Set Rst = Nothing: Set Con = Nothing
End Sub
'--------------------------------------------
Salutations!
"Nistan" a écrit dans le message de news:
Bonjour,
j'ai trois fichier excel qui se deconposent de la maniére suivante :
Le premier est statique ( Varie peu au cour du temps )
les deux autres sont volatiles ( I.E. extraction créé chaque semaine )
Besoin :
une macro capable d'importer les données d'un volatile vers le statiques. La
macro doit être dans le statique et on doit sélectionner un fichier sur le
disque...
dans le statique, j'ai 15 colonnes (sn, c, si, nu, nur, sp, d,... ) et 500
lignes
dans le volatile j'ai 7 colonnes ( sn, nu, nur, snu, snur, ... ) et 280 lignes
l'information que je recherche est la suivante :
Chaque fois que volatile sn = statiques sn
alors copie volatile nu dans statiques nu ( remplacement de la
valeur précédente )
alors copie volatile nur dans statiques nur ( remplacement de
la valeur précédente )
Merci d'avance pour votre aide.
Bonjour Nistan,
Est-ce possible que dans la colonne de SN, il y ait des doublons ? Est-ce toutes des entrées différentes ?
Salutations!
"Nistan" <Nistan@discussions.microsoft.com> a écrit dans le message de news: F3C023F5-D948-4D67-B32C-9DF6A7727C82@microsoft.com...
Merci
Mais comment Fais ton pour :
'requiert la bibliothèque suivante :
'Outils / référence / à cocher
'Microsoft Activex Data Objects 2.x Librairy
Bonjour Nistan,
En supposant que j'ai compris l'énoncé de ta problématique,
A ) copie ce qui suit dans le classeur "Volatile"
B ) Le travail se fait sans devoir ouvrir le fichier "Fixe
C ) Première ligne des 2 fichiers, les étiquettes de colonnes
D ) La requête est ainsi faite : pour toutes les valeurs de la cellule A2:Ax de la feuil1 du fichier Volatile représenté par
l'étiquette de colonne SN, si cette cellule n'est pas vide et qu'elle trouve correspondance dans la colonne SN du fichier fixe,
modifie la Colonne NU avec la nouvelle valeur du fichier Volatile.
E ) Lis attentivement la macro, et assure-toi que le chemin et nom des fichiers sont exactes pour ton application. Il en va de
même
pour les noms des feuilles utilisés dans la procédure. Dans la requête [Feuil1] est à remplacer par le nom de la feuille de ton
fichier "Fixe" où se retrouve les données.
F ) Enfin, j'espère que tu t'amuseras un peu !!! ;-))
'--------------------------------------------
Sub Vérification()
'requiert la bibliothèque suivante :
'Outils / référence / à cocher
'Microsoft Activex Data Objects 2.x Librairy
Dim Rst As New ADODB.Recordset
Dim Con As ADODB.Connection
Dim NomFichier As String
Dim Rg As Range, C As Range
Dim Requete As String, Nb As Long
NomFichier = ThisWorkbook.Path & "données.xls"
Set Con = New ADODB.Connection
Con.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=" & NomFichier & ";" & _
"Extended Properties=""Excel 8.0;HDR=YES;"""
'Défini la plage de cellules
With Worksheets("Feuil2") ' A déterminer
Set Rg = .Range("A2:A" & .Range("A65536").End(xlUp).Row)
End With
Application.EnableEvents = False
'pour chacune cellule de la plage Rg
For Each C In Rg
If C <> "" Then
Requete = "SELECT SN, Nu From [Feuil1$]" & vbCrLf & _
"Where SN = " & C '"Where SN = '" & C & "'"
'Exécution de la requête
Rst.Open Requete, Con, adOpenStatic, adLockOptimistic
'Si le recordset n'est pas vide...
If Rst.EOF = False Then
Nb = Rst.RecordCount
'Pour tous les enregistrements trouvés
For A = 1 To Nb
Rst(1).Value = C.Offset(, 2)
Rst.MoveNext
Next
'Ferme le recordset
Rst.Close
Else
Rst.Close
End If
End If
Next
Application.EnableEvents = True
Set Rg = Nothing: Set C = Nothing
Con.Close
Set Rst = Nothing: Set Con = Nothing
End Sub
'--------------------------------------------
Salutations!
"Nistan" <Nistan@discussions.microsoft.com> a écrit dans le message de news: F0B561ED-C124-4339-90BF-710D4F63C9B9@microsoft.com...
Bonjour,
j'ai trois fichier excel qui se deconposent de la maniére suivante :
Le premier est statique ( Varie peu au cour du temps )
les deux autres sont volatiles ( I.E. extraction créé chaque semaine )
Besoin :
une macro capable d'importer les données d'un volatile vers le statiques. La
macro doit être dans le statique et on doit sélectionner un fichier sur le
disque...
dans le statique, j'ai 15 colonnes (sn, c, si, nu, nur, sp, d,... ) et 500
lignes
dans le volatile j'ai 7 colonnes ( sn, nu, nur, snu, snur, ... ) et 280 lignes
l'information que je recherche est la suivante :
Chaque fois que volatile sn = statiques sn
alors copie volatile nu dans statiques nu ( remplacement de la
valeur précédente )
alors copie volatile nur dans statiques nur ( remplacement de
la valeur précédente )
Merci d'avance pour votre aide.
Bonjour Nistan,
Est-ce possible que dans la colonne de SN, il y ait des doublons ? Est-ce toutes des entrées différentes ?
Salutations!
"Nistan" a écrit dans le message de news:
Merci
Mais comment Fais ton pour :
'requiert la bibliothèque suivante :
'Outils / référence / à cocher
'Microsoft Activex Data Objects 2.x LibrairyBonjour Nistan,
En supposant que j'ai compris l'énoncé de ta problématique,
A ) copie ce qui suit dans le classeur "Volatile"
B ) Le travail se fait sans devoir ouvrir le fichier "Fixe
C ) Première ligne des 2 fichiers, les étiquettes de colonnes
D ) La requête est ainsi faite : pour toutes les valeurs de la cellule A2:Ax de la feuil1 du fichier Volatile représenté par
l'étiquette de colonne SN, si cette cellule n'est pas vide et qu'elle trouve correspondance dans la colonne SN du fichier fixe,
modifie la Colonne NU avec la nouvelle valeur du fichier Volatile.
E ) Lis attentivement la macro, et assure-toi que le chemin et nom des fichiers sont exactes pour ton application. Il en va de
même
pour les noms des feuilles utilisés dans la procédure. Dans la requête [Feuil1] est à remplacer par le nom de la feuille de ton
fichier "Fixe" où se retrouve les données.
F ) Enfin, j'espère que tu t'amuseras un peu !!! ;-))
'--------------------------------------------
Sub Vérification()
'requiert la bibliothèque suivante :
'Outils / référence / à cocher
'Microsoft Activex Data Objects 2.x Librairy
Dim Rst As New ADODB.Recordset
Dim Con As ADODB.Connection
Dim NomFichier As String
Dim Rg As Range, C As Range
Dim Requete As String, Nb As Long
NomFichier = ThisWorkbook.Path & "données.xls"
Set Con = New ADODB.Connection
Con.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=" & NomFichier & ";" & _
"Extended Properties=""Excel 8.0;HDR=YES;"""
'Défini la plage de cellules
With Worksheets("Feuil2") ' A déterminer
Set Rg = .Range("A2:A" & .Range("A65536").End(xlUp).Row)
End With
Application.EnableEvents = False
'pour chacune cellule de la plage Rg
For Each C In Rg
If C <> "" Then
Requete = "SELECT SN, Nu From [Feuil1$]" & vbCrLf & _
"Where SN = " & C '"Where SN = '" & C & "'"
'Exécution de la requête
Rst.Open Requete, Con, adOpenStatic, adLockOptimistic
'Si le recordset n'est pas vide...
If Rst.EOF = False Then
Nb = Rst.RecordCount
'Pour tous les enregistrements trouvés
For A = 1 To Nb
Rst(1).Value = C.Offset(, 2)
Rst.MoveNext
Next
'Ferme le recordset
Rst.Close
Else
Rst.Close
End If
End If
Next
Application.EnableEvents = True
Set Rg = Nothing: Set C = Nothing
Con.Close
Set Rst = Nothing: Set Con = Nothing
End Sub
'--------------------------------------------
Salutations!
"Nistan" a écrit dans le message de news:
Bonjour,
j'ai trois fichier excel qui se deconposent de la maniére suivante :
Le premier est statique ( Varie peu au cour du temps )
les deux autres sont volatiles ( I.E. extraction créé chaque semaine )
Besoin :
une macro capable d'importer les données d'un volatile vers le statiques. La
macro doit être dans le statique et on doit sélectionner un fichier sur le
disque...
dans le statique, j'ai 15 colonnes (sn, c, si, nu, nur, sp, d,... ) et 500
lignes
dans le volatile j'ai 7 colonnes ( sn, nu, nur, snu, snur, ... ) et 280 lignes
l'information que je recherche est la suivante :
Chaque fois que volatile sn = statiques sn
alors copie volatile nu dans statiques nu ( remplacement de la
valeur précédente )
alors copie volatile nur dans statiques nur ( remplacement de
la valeur précédente )
Merci d'avance pour votre aide.
Bonjour Nistan,
Est-ce possible que dans la colonne de SN, il y ait des doublons ? Est-ce toutes des entrées différentes ?
Salutations!
"Nistan" a écrit dans le message de news:
Merci
Mais comment Fais ton pour :
'requiert la bibliothèque suivante :
'Outils / référence / à cocher
'Microsoft Activex Data Objects 2.x LibrairyBonjour Nistan,
En supposant que j'ai compris l'énoncé de ta problématique,
A ) copie ce qui suit dans le classeur "Volatile"
B ) Le travail se fait sans devoir ouvrir le fichier "Fixe
C ) Première ligne des 2 fichiers, les étiquettes de colonnes
D ) La requête est ainsi faite : pour toutes les valeurs de la cellule A2:Ax de la feuil1 du fichier Volatile représenté par
l'étiquette de colonne SN, si cette cellule n'est pas vide et qu'elle trouve correspondance dans la colonne SN du fichier fixe,
modifie la Colonne NU avec la nouvelle valeur du fichier Volatile.
E ) Lis attentivement la macro, et assure-toi que le chemin et nom des fichiers sont exactes pour ton application. Il en va de
même
pour les noms des feuilles utilisés dans la procédure. Dans la requête [Feuil1] est à remplacer par le nom de la feuille de ton
fichier "Fixe" où se retrouve les données.
F ) Enfin, j'espère que tu t'amuseras un peu !!! ;-))
'--------------------------------------------
Sub Vérification()
'requiert la bibliothèque suivante :
'Outils / référence / à cocher
'Microsoft Activex Data Objects 2.x Librairy
Dim Rst As New ADODB.Recordset
Dim Con As ADODB.Connection
Dim NomFichier As String
Dim Rg As Range, C As Range
Dim Requete As String, Nb As Long
NomFichier = ThisWorkbook.Path & "données.xls"
Set Con = New ADODB.Connection
Con.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=" & NomFichier & ";" & _
"Extended Properties=""Excel 8.0;HDR=YES;"""
'Défini la plage de cellules
With Worksheets("Feuil2") ' A déterminer
Set Rg = .Range("A2:A" & .Range("A65536").End(xlUp).Row)
End With
Application.EnableEvents = False
'pour chacune cellule de la plage Rg
For Each C In Rg
If C <> "" Then
Requete = "SELECT SN, Nu From [Feuil1$]" & vbCrLf & _
"Where SN = " & C '"Where SN = '" & C & "'"
'Exécution de la requête
Rst.Open Requete, Con, adOpenStatic, adLockOptimistic
'Si le recordset n'est pas vide...
If Rst.EOF = False Then
Nb = Rst.RecordCount
'Pour tous les enregistrements trouvés
For A = 1 To Nb
Rst(1).Value = C.Offset(, 2)
Rst.MoveNext
Next
'Ferme le recordset
Rst.Close
Else
Rst.Close
End If
End If
Next
Application.EnableEvents = True
Set Rg = Nothing: Set C = Nothing
Con.Close
Set Rst = Nothing: Set Con = Nothing
End Sub
'--------------------------------------------
Salutations!
"Nistan" a écrit dans le message de news:
Bonjour,
j'ai trois fichier excel qui se deconposent de la maniére suivante :
Le premier est statique ( Varie peu au cour du temps )
les deux autres sont volatiles ( I.E. extraction créé chaque semaine )
Besoin :
une macro capable d'importer les données d'un volatile vers le statiques. La
macro doit être dans le statique et on doit sélectionner un fichier sur le
disque...
dans le statique, j'ai 15 colonnes (sn, c, si, nu, nur, sp, d,... ) et 500
lignes
dans le volatile j'ai 7 colonnes ( sn, nu, nur, snu, snur, ... ) et 280 lignes
l'information que je recherche est la suivante :
Chaque fois que volatile sn = statiques sn
alors copie volatile nu dans statiques nu ( remplacement de la
valeur précédente )
alors copie volatile nur dans statiques nur ( remplacement de
la valeur précédente )
Merci d'avance pour votre aide.
Bonjour Nistan,
Est-ce possible que dans la colonne de SN, il y ait des doublons ? Est-ce toutes des entrées différentes ?
Salutations!
"Nistan" <Nistan@discussions.microsoft.com> a écrit dans le message de news: F3C023F5-D948-4D67-B32C-9DF6A7727C82@microsoft.com...
Merci
Mais comment Fais ton pour :
'requiert la bibliothèque suivante :
'Outils / référence / à cocher
'Microsoft Activex Data Objects 2.x Librairy
Bonjour Nistan,
En supposant que j'ai compris l'énoncé de ta problématique,
A ) copie ce qui suit dans le classeur "Volatile"
B ) Le travail se fait sans devoir ouvrir le fichier "Fixe
C ) Première ligne des 2 fichiers, les étiquettes de colonnes
D ) La requête est ainsi faite : pour toutes les valeurs de la cellule A2:Ax de la feuil1 du fichier Volatile représenté par
l'étiquette de colonne SN, si cette cellule n'est pas vide et qu'elle trouve correspondance dans la colonne SN du fichier fixe,
modifie la Colonne NU avec la nouvelle valeur du fichier Volatile.
E ) Lis attentivement la macro, et assure-toi que le chemin et nom des fichiers sont exactes pour ton application. Il en va de
même
pour les noms des feuilles utilisés dans la procédure. Dans la requête [Feuil1] est à remplacer par le nom de la feuille de ton
fichier "Fixe" où se retrouve les données.
F ) Enfin, j'espère que tu t'amuseras un peu !!! ;-))
'--------------------------------------------
Sub Vérification()
'requiert la bibliothèque suivante :
'Outils / référence / à cocher
'Microsoft Activex Data Objects 2.x Librairy
Dim Rst As New ADODB.Recordset
Dim Con As ADODB.Connection
Dim NomFichier As String
Dim Rg As Range, C As Range
Dim Requete As String, Nb As Long
NomFichier = ThisWorkbook.Path & "données.xls"
Set Con = New ADODB.Connection
Con.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=" & NomFichier & ";" & _
"Extended Properties=""Excel 8.0;HDR=YES;"""
'Défini la plage de cellules
With Worksheets("Feuil2") ' A déterminer
Set Rg = .Range("A2:A" & .Range("A65536").End(xlUp).Row)
End With
Application.EnableEvents = False
'pour chacune cellule de la plage Rg
For Each C In Rg
If C <> "" Then
Requete = "SELECT SN, Nu From [Feuil1$]" & vbCrLf & _
"Where SN = " & C '"Where SN = '" & C & "'"
'Exécution de la requête
Rst.Open Requete, Con, adOpenStatic, adLockOptimistic
'Si le recordset n'est pas vide...
If Rst.EOF = False Then
Nb = Rst.RecordCount
'Pour tous les enregistrements trouvés
For A = 1 To Nb
Rst(1).Value = C.Offset(, 2)
Rst.MoveNext
Next
'Ferme le recordset
Rst.Close
Else
Rst.Close
End If
End If
Next
Application.EnableEvents = True
Set Rg = Nothing: Set C = Nothing
Con.Close
Set Rst = Nothing: Set Con = Nothing
End Sub
'--------------------------------------------
Salutations!
"Nistan" <Nistan@discussions.microsoft.com> a écrit dans le message de news:
F0B561ED-C124-4339-90BF-710D4F63C9B9@microsoft.com...
Bonjour,
j'ai trois fichier excel qui se deconposent de la maniére suivante :
Le premier est statique ( Varie peu au cour du temps )
les deux autres sont volatiles ( I.E. extraction créé chaque semaine )
Besoin :
une macro capable d'importer les données d'un volatile vers le statiques. La
macro doit être dans le statique et on doit sélectionner un fichier sur le
disque...
dans le statique, j'ai 15 colonnes (sn, c, si, nu, nur, sp, d,... ) et 500
lignes
dans le volatile j'ai 7 colonnes ( sn, nu, nur, snu, snur, ... ) et 280 lignes
l'information que je recherche est la suivante :
Chaque fois que volatile sn = statiques sn
alors copie volatile nu dans statiques nu ( remplacement de la
valeur précédente )
alors copie volatile nur dans statiques nur ( remplacement de
la valeur précédente )
Merci d'avance pour votre aide.
Bonjour Nistan,
Est-ce possible que dans la colonne de SN, il y ait des doublons ? Est-ce toutes des entrées différentes ?
Salutations!
"Nistan" a écrit dans le message de news:
Merci
Mais comment Fais ton pour :
'requiert la bibliothèque suivante :
'Outils / référence / à cocher
'Microsoft Activex Data Objects 2.x LibrairyBonjour Nistan,
En supposant que j'ai compris l'énoncé de ta problématique,
A ) copie ce qui suit dans le classeur "Volatile"
B ) Le travail se fait sans devoir ouvrir le fichier "Fixe
C ) Première ligne des 2 fichiers, les étiquettes de colonnes
D ) La requête est ainsi faite : pour toutes les valeurs de la cellule A2:Ax de la feuil1 du fichier Volatile représenté par
l'étiquette de colonne SN, si cette cellule n'est pas vide et qu'elle trouve correspondance dans la colonne SN du fichier fixe,
modifie la Colonne NU avec la nouvelle valeur du fichier Volatile.
E ) Lis attentivement la macro, et assure-toi que le chemin et nom des fichiers sont exactes pour ton application. Il en va de
même
pour les noms des feuilles utilisés dans la procédure. Dans la requête [Feuil1] est à remplacer par le nom de la feuille de ton
fichier "Fixe" où se retrouve les données.
F ) Enfin, j'espère que tu t'amuseras un peu !!! ;-))
'--------------------------------------------
Sub Vérification()
'requiert la bibliothèque suivante :
'Outils / référence / à cocher
'Microsoft Activex Data Objects 2.x Librairy
Dim Rst As New ADODB.Recordset
Dim Con As ADODB.Connection
Dim NomFichier As String
Dim Rg As Range, C As Range
Dim Requete As String, Nb As Long
NomFichier = ThisWorkbook.Path & "données.xls"
Set Con = New ADODB.Connection
Con.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=" & NomFichier & ";" & _
"Extended Properties=""Excel 8.0;HDR=YES;"""
'Défini la plage de cellules
With Worksheets("Feuil2") ' A déterminer
Set Rg = .Range("A2:A" & .Range("A65536").End(xlUp).Row)
End With
Application.EnableEvents = False
'pour chacune cellule de la plage Rg
For Each C In Rg
If C <> "" Then
Requete = "SELECT SN, Nu From [Feuil1$]" & vbCrLf & _
"Where SN = " & C '"Where SN = '" & C & "'"
'Exécution de la requête
Rst.Open Requete, Con, adOpenStatic, adLockOptimistic
'Si le recordset n'est pas vide...
If Rst.EOF = False Then
Nb = Rst.RecordCount
'Pour tous les enregistrements trouvés
For A = 1 To Nb
Rst(1).Value = C.Offset(, 2)
Rst.MoveNext
Next
'Ferme le recordset
Rst.Close
Else
Rst.Close
End If
End If
Next
Application.EnableEvents = True
Set Rg = Nothing: Set C = Nothing
Con.Close
Set Rst = Nothing: Set Con = Nothing
End Sub
'--------------------------------------------
Salutations!
"Nistan" a écrit dans le message de news:
Bonjour,
j'ai trois fichier excel qui se deconposent de la maniére suivante :
Le premier est statique ( Varie peu au cour du temps )
les deux autres sont volatiles ( I.E. extraction créé chaque semaine )
Besoin :
une macro capable d'importer les données d'un volatile vers le statiques. La
macro doit être dans le statique et on doit sélectionner un fichier sur le
disque...
dans le statique, j'ai 15 colonnes (sn, c, si, nu, nur, sp, d,... ) et 500
lignes
dans le volatile j'ai 7 colonnes ( sn, nu, nur, snu, snur, ... ) et 280 lignes
l'information que je recherche est la suivante :
Chaque fois que volatile sn = statiques sn
alors copie volatile nu dans statiques nu ( remplacement de la
valeur précédente )
alors copie volatile nur dans statiques nur ( remplacement de
la valeur précédente )
Merci d'avance pour votre aide.
Bonjour Nistan,
Cela va te demander quand même un peu d'effort si tu ne connais "rien" à vba.
Tu copies le code qui suit dans ton fichier "fixe" dans un module standard.
J'ai pris pour acquis que la colonne SN était en colonne A:A dans les 2 fichiers. Volatile et fixe.
Dans le cas où il y a une correspondance entre les valeurs des 2 colonnes sn des 2 fichiers "Fixe" et "Volatile", la procédure va
modifier la colonne C:C du fichier Fxe supposément représentant la colonne NU avec les nouvelles valeurs du fichier volatile Colonne
C:C aussi représentant la colonne NU.
Tout ceci peut être modifié selon la configuration de ton projet.
'--------------------------------
Sub checkSn()
Dim RgSource As Range
Dim RgImport As Range
Application.ScreenUpdating = False
'La feuille où sont tes données
With Worksheets("Feuil1") ' Nom à déterminer
Set RgSource = .Range("a1:A" & .Range("A65536").End(xlUp).Row)
End With
'Ouverture de ton fichier Volatile
'Tu remplace "C:AtravailDonnées.xls" par le chemin
'et le nom de ton fichier volatile
Workbooks.Open "C:AtravailDonnées.xls"
With ActiveWorkbook
'Nom de la feuille de ton fichier volatile
With .Worksheets("Feuil1") ' à déterminer
Set RgImport = .Range("a1:A" & .Range("A65536").End(xlUp).Row)
End With
On Error Resume Next
For Each C In RgImport
a = WorksheetFunction.Match(C.Value, RgSource, 0)
If Not IsError(a) Then
'2 = 2 colonnes à droite de A
RgSource(a).Offset(, 2).Value = C.Offset(, 2).Value
Else
Err = 0
End If
Next
.Close
End With
Set RgSource = Nothing: Set RgImport = Nothing
End Sub
'--------------------------------
Salutations!
"Nistan" a écrit dans le message de news:
Bonjour Michdenis,
Il n'y a aucun Doublon possible. Toutes les entrées sont différentes.
MerciBonjour Nistan,
Est-ce possible que dans la colonne de SN, il y ait des doublons ? Est-ce toutes des entrées différentes ?
Salutations!
"Nistan" a écrit dans le message de news:
Merci
Mais comment Fais ton pour :
'requiert la bibliothèque suivante :
'Outils / référence / à cocher
'Microsoft Activex Data Objects 2.x LibrairyBonjour Nistan,
En supposant que j'ai compris l'énoncé de ta problématique,
A ) copie ce qui suit dans le classeur "Volatile"
B ) Le travail se fait sans devoir ouvrir le fichier "Fixe
C ) Première ligne des 2 fichiers, les étiquettes de colonnes
D ) La requête est ainsi faite : pour toutes les valeurs de la cellule A2:Ax de la feuil1 du fichier Volatile représenté par
l'étiquette de colonne SN, si cette cellule n'est pas vide et qu'elle trouve correspondance dans la colonne SN du fichier fixe,
modifie la Colonne NU avec la nouvelle valeur du fichier Volatile.
E ) Lis attentivement la macro, et assure-toi que le chemin et nom des fichiers sont exactes pour ton application. Il en va de
même
pour les noms des feuilles utilisés dans la procédure. Dans la requête [Feuil1] est à remplacer par le nom de la feuille de ton
fichier "Fixe" où se retrouve les données.
F ) Enfin, j'espère que tu t'amuseras un peu !!! ;-))
'--------------------------------------------
Sub Vérification()
'requiert la bibliothèque suivante :
'Outils / référence / à cocher
'Microsoft Activex Data Objects 2.x Librairy
Dim Rst As New ADODB.Recordset
Dim Con As ADODB.Connection
Dim NomFichier As String
Dim Rg As Range, C As Range
Dim Requete As String, Nb As Long
NomFichier = ThisWorkbook.Path & "données.xls"
Set Con = New ADODB.Connection
Con.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=" & NomFichier & ";" & _
"Extended Properties=""Excel 8.0;HDR=YES;"""
'Défini la plage de cellules
With Worksheets("Feuil2") ' A déterminer
Set Rg = .Range("A2:A" & .Range("A65536").End(xlUp).Row)
End With
Application.EnableEvents = False
'pour chacune cellule de la plage Rg
For Each C In Rg
If C <> "" Then
Requete = "SELECT SN, Nu From [Feuil1$]" & vbCrLf & _
"Where SN = " & C '"Where SN = '" & C & "'"
'Exécution de la requête
Rst.Open Requete, Con, adOpenStatic, adLockOptimistic
'Si le recordset n'est pas vide...
If Rst.EOF = False Then
Nb = Rst.RecordCount
'Pour tous les enregistrements trouvés
For A = 1 To Nb
Rst(1).Value = C.Offset(, 2)
Rst.MoveNext
Next
'Ferme le recordset
Rst.Close
Else
Rst.Close
End If
End If
Next
Application.EnableEvents = True
Set Rg = Nothing: Set C = Nothing
Con.Close
Set Rst = Nothing: Set Con = Nothing
End Sub
'--------------------------------------------
Salutations!
"Nistan" a écrit dans le message de news:
Bonjour,
j'ai trois fichier excel qui se deconposent de la maniére suivante :
Le premier est statique ( Varie peu au cour du temps )
les deux autres sont volatiles ( I.E. extraction créé chaque semaine )
Besoin :
une macro capable d'importer les données d'un volatile vers le statiques. La
macro doit être dans le statique et on doit sélectionner un fichier sur le
disque...
dans le statique, j'ai 15 colonnes (sn, c, si, nu, nur, sp, d,... ) et 500
lignes
dans le volatile j'ai 7 colonnes ( sn, nu, nur, snu, snur, ... ) et 280 lignes
l'information que je recherche est la suivante :
Chaque fois que volatile sn = statiques sn
alors copie volatile nu dans statiques nu ( remplacement de la
valeur précédente )
alors copie volatile nur dans statiques nur ( remplacement de
la valeur précédente )
Merci d'avance pour votre aide.
Bonjour Nistan,
Cela va te demander quand même un peu d'effort si tu ne connais "rien" à vba.
Tu copies le code qui suit dans ton fichier "fixe" dans un module standard.
J'ai pris pour acquis que la colonne SN était en colonne A:A dans les 2 fichiers. Volatile et fixe.
Dans le cas où il y a une correspondance entre les valeurs des 2 colonnes sn des 2 fichiers "Fixe" et "Volatile", la procédure va
modifier la colonne C:C du fichier Fxe supposément représentant la colonne NU avec les nouvelles valeurs du fichier volatile Colonne
C:C aussi représentant la colonne NU.
Tout ceci peut être modifié selon la configuration de ton projet.
'--------------------------------
Sub checkSn()
Dim RgSource As Range
Dim RgImport As Range
Application.ScreenUpdating = False
'La feuille où sont tes données
With Worksheets("Feuil1") ' Nom à déterminer
Set RgSource = .Range("a1:A" & .Range("A65536").End(xlUp).Row)
End With
'Ouverture de ton fichier Volatile
'Tu remplace "C:AtravailDonnées.xls" par le chemin
'et le nom de ton fichier volatile
Workbooks.Open "C:AtravailDonnées.xls"
With ActiveWorkbook
'Nom de la feuille de ton fichier volatile
With .Worksheets("Feuil1") ' à déterminer
Set RgImport = .Range("a1:A" & .Range("A65536").End(xlUp).Row)
End With
On Error Resume Next
For Each C In RgImport
a = WorksheetFunction.Match(C.Value, RgSource, 0)
If Not IsError(a) Then
'2 = 2 colonnes à droite de A
RgSource(a).Offset(, 2).Value = C.Offset(, 2).Value
Else
Err = 0
End If
Next
.Close
End With
Set RgSource = Nothing: Set RgImport = Nothing
End Sub
'--------------------------------
Salutations!
"Nistan" <Nistan@discussions.microsoft.com> a écrit dans le message de news: 86A8F205-BC6A-45BD-BA3F-84E476A3AE14@microsoft.com...
Bonjour Michdenis,
Il n'y a aucun Doublon possible. Toutes les entrées sont différentes.
Merci
Bonjour Nistan,
Est-ce possible que dans la colonne de SN, il y ait des doublons ? Est-ce toutes des entrées différentes ?
Salutations!
"Nistan" <Nistan@discussions.microsoft.com> a écrit dans le message de news: F3C023F5-D948-4D67-B32C-9DF6A7727C82@microsoft.com...
Merci
Mais comment Fais ton pour :
'requiert la bibliothèque suivante :
'Outils / référence / à cocher
'Microsoft Activex Data Objects 2.x Librairy
Bonjour Nistan,
En supposant que j'ai compris l'énoncé de ta problématique,
A ) copie ce qui suit dans le classeur "Volatile"
B ) Le travail se fait sans devoir ouvrir le fichier "Fixe
C ) Première ligne des 2 fichiers, les étiquettes de colonnes
D ) La requête est ainsi faite : pour toutes les valeurs de la cellule A2:Ax de la feuil1 du fichier Volatile représenté par
l'étiquette de colonne SN, si cette cellule n'est pas vide et qu'elle trouve correspondance dans la colonne SN du fichier fixe,
modifie la Colonne NU avec la nouvelle valeur du fichier Volatile.
E ) Lis attentivement la macro, et assure-toi que le chemin et nom des fichiers sont exactes pour ton application. Il en va de
même
pour les noms des feuilles utilisés dans la procédure. Dans la requête [Feuil1] est à remplacer par le nom de la feuille de ton
fichier "Fixe" où se retrouve les données.
F ) Enfin, j'espère que tu t'amuseras un peu !!! ;-))
'--------------------------------------------
Sub Vérification()
'requiert la bibliothèque suivante :
'Outils / référence / à cocher
'Microsoft Activex Data Objects 2.x Librairy
Dim Rst As New ADODB.Recordset
Dim Con As ADODB.Connection
Dim NomFichier As String
Dim Rg As Range, C As Range
Dim Requete As String, Nb As Long
NomFichier = ThisWorkbook.Path & "données.xls"
Set Con = New ADODB.Connection
Con.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=" & NomFichier & ";" & _
"Extended Properties=""Excel 8.0;HDR=YES;"""
'Défini la plage de cellules
With Worksheets("Feuil2") ' A déterminer
Set Rg = .Range("A2:A" & .Range("A65536").End(xlUp).Row)
End With
Application.EnableEvents = False
'pour chacune cellule de la plage Rg
For Each C In Rg
If C <> "" Then
Requete = "SELECT SN, Nu From [Feuil1$]" & vbCrLf & _
"Where SN = " & C '"Where SN = '" & C & "'"
'Exécution de la requête
Rst.Open Requete, Con, adOpenStatic, adLockOptimistic
'Si le recordset n'est pas vide...
If Rst.EOF = False Then
Nb = Rst.RecordCount
'Pour tous les enregistrements trouvés
For A = 1 To Nb
Rst(1).Value = C.Offset(, 2)
Rst.MoveNext
Next
'Ferme le recordset
Rst.Close
Else
Rst.Close
End If
End If
Next
Application.EnableEvents = True
Set Rg = Nothing: Set C = Nothing
Con.Close
Set Rst = Nothing: Set Con = Nothing
End Sub
'--------------------------------------------
Salutations!
"Nistan" <Nistan@discussions.microsoft.com> a écrit dans le message de news:
F0B561ED-C124-4339-90BF-710D4F63C9B9@microsoft.com...
Bonjour,
j'ai trois fichier excel qui se deconposent de la maniére suivante :
Le premier est statique ( Varie peu au cour du temps )
les deux autres sont volatiles ( I.E. extraction créé chaque semaine )
Besoin :
une macro capable d'importer les données d'un volatile vers le statiques. La
macro doit être dans le statique et on doit sélectionner un fichier sur le
disque...
dans le statique, j'ai 15 colonnes (sn, c, si, nu, nur, sp, d,... ) et 500
lignes
dans le volatile j'ai 7 colonnes ( sn, nu, nur, snu, snur, ... ) et 280 lignes
l'information que je recherche est la suivante :
Chaque fois que volatile sn = statiques sn
alors copie volatile nu dans statiques nu ( remplacement de la
valeur précédente )
alors copie volatile nur dans statiques nur ( remplacement de
la valeur précédente )
Merci d'avance pour votre aide.
Bonjour Nistan,
Cela va te demander quand même un peu d'effort si tu ne connais "rien" à vba.
Tu copies le code qui suit dans ton fichier "fixe" dans un module standard.
J'ai pris pour acquis que la colonne SN était en colonne A:A dans les 2 fichiers. Volatile et fixe.
Dans le cas où il y a une correspondance entre les valeurs des 2 colonnes sn des 2 fichiers "Fixe" et "Volatile", la procédure va
modifier la colonne C:C du fichier Fxe supposément représentant la colonne NU avec les nouvelles valeurs du fichier volatile Colonne
C:C aussi représentant la colonne NU.
Tout ceci peut être modifié selon la configuration de ton projet.
'--------------------------------
Sub checkSn()
Dim RgSource As Range
Dim RgImport As Range
Application.ScreenUpdating = False
'La feuille où sont tes données
With Worksheets("Feuil1") ' Nom à déterminer
Set RgSource = .Range("a1:A" & .Range("A65536").End(xlUp).Row)
End With
'Ouverture de ton fichier Volatile
'Tu remplace "C:AtravailDonnées.xls" par le chemin
'et le nom de ton fichier volatile
Workbooks.Open "C:AtravailDonnées.xls"
With ActiveWorkbook
'Nom de la feuille de ton fichier volatile
With .Worksheets("Feuil1") ' à déterminer
Set RgImport = .Range("a1:A" & .Range("A65536").End(xlUp).Row)
End With
On Error Resume Next
For Each C In RgImport
a = WorksheetFunction.Match(C.Value, RgSource, 0)
If Not IsError(a) Then
'2 = 2 colonnes à droite de A
RgSource(a).Offset(, 2).Value = C.Offset(, 2).Value
Else
Err = 0
End If
Next
.Close
End With
Set RgSource = Nothing: Set RgImport = Nothing
End Sub
'--------------------------------
Salutations!
"Nistan" a écrit dans le message de news:
Bonjour Michdenis,
Il n'y a aucun Doublon possible. Toutes les entrées sont différentes.
MerciBonjour Nistan,
Est-ce possible que dans la colonne de SN, il y ait des doublons ? Est-ce toutes des entrées différentes ?
Salutations!
"Nistan" a écrit dans le message de news:
Merci
Mais comment Fais ton pour :
'requiert la bibliothèque suivante :
'Outils / référence / à cocher
'Microsoft Activex Data Objects 2.x LibrairyBonjour Nistan,
En supposant que j'ai compris l'énoncé de ta problématique,
A ) copie ce qui suit dans le classeur "Volatile"
B ) Le travail se fait sans devoir ouvrir le fichier "Fixe
C ) Première ligne des 2 fichiers, les étiquettes de colonnes
D ) La requête est ainsi faite : pour toutes les valeurs de la cellule A2:Ax de la feuil1 du fichier Volatile représenté par
l'étiquette de colonne SN, si cette cellule n'est pas vide et qu'elle trouve correspondance dans la colonne SN du fichier fixe,
modifie la Colonne NU avec la nouvelle valeur du fichier Volatile.
E ) Lis attentivement la macro, et assure-toi que le chemin et nom des fichiers sont exactes pour ton application. Il en va de
même
pour les noms des feuilles utilisés dans la procédure. Dans la requête [Feuil1] est à remplacer par le nom de la feuille de ton
fichier "Fixe" où se retrouve les données.
F ) Enfin, j'espère que tu t'amuseras un peu !!! ;-))
'--------------------------------------------
Sub Vérification()
'requiert la bibliothèque suivante :
'Outils / référence / à cocher
'Microsoft Activex Data Objects 2.x Librairy
Dim Rst As New ADODB.Recordset
Dim Con As ADODB.Connection
Dim NomFichier As String
Dim Rg As Range, C As Range
Dim Requete As String, Nb As Long
NomFichier = ThisWorkbook.Path & "données.xls"
Set Con = New ADODB.Connection
Con.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=" & NomFichier & ";" & _
"Extended Properties=""Excel 8.0;HDR=YES;"""
'Défini la plage de cellules
With Worksheets("Feuil2") ' A déterminer
Set Rg = .Range("A2:A" & .Range("A65536").End(xlUp).Row)
End With
Application.EnableEvents = False
'pour chacune cellule de la plage Rg
For Each C In Rg
If C <> "" Then
Requete = "SELECT SN, Nu From [Feuil1$]" & vbCrLf & _
"Where SN = " & C '"Where SN = '" & C & "'"
'Exécution de la requête
Rst.Open Requete, Con, adOpenStatic, adLockOptimistic
'Si le recordset n'est pas vide...
If Rst.EOF = False Then
Nb = Rst.RecordCount
'Pour tous les enregistrements trouvés
For A = 1 To Nb
Rst(1).Value = C.Offset(, 2)
Rst.MoveNext
Next
'Ferme le recordset
Rst.Close
Else
Rst.Close
End If
End If
Next
Application.EnableEvents = True
Set Rg = Nothing: Set C = Nothing
Con.Close
Set Rst = Nothing: Set Con = Nothing
End Sub
'--------------------------------------------
Salutations!
"Nistan" a écrit dans le message de news:
Bonjour,
j'ai trois fichier excel qui se deconposent de la maniére suivante :
Le premier est statique ( Varie peu au cour du temps )
les deux autres sont volatiles ( I.E. extraction créé chaque semaine )
Besoin :
une macro capable d'importer les données d'un volatile vers le statiques. La
macro doit être dans le statique et on doit sélectionner un fichier sur le
disque...
dans le statique, j'ai 15 colonnes (sn, c, si, nu, nur, sp, d,... ) et 500
lignes
dans le volatile j'ai 7 colonnes ( sn, nu, nur, snu, snur, ... ) et 280 lignes
l'information que je recherche est la suivante :
Chaque fois que volatile sn = statiques sn
alors copie volatile nu dans statiques nu ( remplacement de la
valeur précédente )
alors copie volatile nur dans statiques nur ( remplacement de
la valeur précédente )
Merci d'avance pour votre aide.