Bonjour,
J'ai un probleme, pour parcourir toutes les cellules de mon classeur. j'ai ce code :
Sub test()
Dim Plage As Range, Cellule As Range
Dim Position As Integer
Dim Chemin As String 'chemin de la base de données
Dim base As Database ' objet base de données
Dim requete As String 'requete SQL au format texte
Dim liaison1 As Recordset 'endroit où sont stockés les enregistrements
Dim formule As String
fichier = ActiveWorkbook.Name
'Se connecter à la base de données
Chemin = "U:\LogOsi\PROJETS\Projet BUR WOP\WOP Conversion\BDD_WOP.accdb"
Set base = DBEngine.OpenDatabase(Chemin)
'va chercher tout les nom_fic dans la base
requete = "SELECT nom_conv FROM Converti"
requete2 = "SELECT nom_liaison FROM Liaisons WHERE nom_fic = '" & fichier & "'"
'Déclaration du recordset
Set liaison1 = base.OpenRecordset(requete)
Set liaison2 = base.OpenRecordset(requete2)
Set Plage = Range("A16:C23")
extension = Right(liaison1(0), 5)
For Each Cellule In Plage
formule = "*" & liaison2(0) & "*"
If Cellule.Formula Like formule Then
'remplace par ".xlsm" ou ".xslx"
Cellule.Replace What:=".xls", Replacement:=extension, LookAt:=xlPart, _
SearchOrder:=xlByColumns, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False
Else
End If
Next Cellule
End Sub
Il fonctionne bien entre les cellule A16:C20 mais j'aimerai un code qui parcours toute ma feuille directement. Je ne trouve pas la bonne syntaxe.
Puis il ne me prend qu'un seul enregsitrement de ma requete2 alor que j'aimerai qu'il regarde parmis tout les enregistrements, et s'il y en a un qui correspond, qu'il modifie la formule de la cellule.
Une idée??
Merci d'avance.