Question concernant un SI Macro Excel
Résolu
Martin
-
Martin -
Martin -
Bonjour,
quelqu'un peut me dire pourquoi j'obtiens une erreur 13 dans ce code ?
Je veux que si le range A2:A1000 (fichier 1) contient la valeur de la cellule h20 (fichier 2), la cellule C de la même ligne que la valeur trouvée en h20 devienne la valeur F3 de mon fichier 2.
Merci de votre aide ! :)
Maritn
quelqu'un peut me dire pourquoi j'obtiens une erreur 13 dans ce code ?
If ShtR.Range("A2:A1000") = ShtN.Range("h20").Value Then
ShtR.Range("C").Value = ShtN.Range("F3")
Je veux que si le range A2:A1000 (fichier 1) contient la valeur de la cellule h20 (fichier 2), la cellule C de la même ligne que la valeur trouvée en h20 devienne la valeur F3 de mon fichier 2.
Merci de votre aide ! :)
Maritn
3 réponses
-
bonjour
essaies ceci
Const plage = "A2:A24" Dim shtR Dim c Dim li As Long Set shtR = Sheets(1) With shtR Set c = .Range(plage).Find(.Range("h20"), , , xlWhole) If Not c Is Nothing Then li = c.Row .Range("C" & li).Value = .Range("F3") End If End With
bonne suite -
il n'y a pas d'erreur dans le code, mais le changement ne s'effectue pas... voici mon code au complet
Dim sFicRegistre As String Dim sPathRegistre As String Dim WbkR As Object Dim shtR As Worksheet Dim ShtN As Worksheet Dim Desc As String Dim Nom_Fichier, Chemin, modif Dim li As Long sFicRegistre = "Registre.xlsm" sPathRegistre = "C:\PO\" Set ShtN = ThisWorkbook.Sheets("PO") Set WbkR = GetObject(sPathRegistre & "\" & sFicRegistre) Set shtR = WbkR.Sheets("Registre") Const plage = "A2:A1000" Desc = ShtN.Range("B19").End(xlUp) With shtR Set modif = .Range("A2:A1000").Find(.Range("h20"), , , xlWhole) If Not modif Is Nothing Then li = modif.Row .Range("D" & li).Value = .Range("G19") End If End With End Sub -
j'ai trouvé, merci ! :)
voici mon code :
Private Sub CommandButton1_Click() Dim sFicRegistre As String Dim sPathRegistre As String Dim WbkR As Object Dim shtR As Worksheet Dim ShtN As Worksheet Dim Desc As String Dim Nom_Fichier, Chemin, modif Dim li As Long ' Définir les variables sFicRegistre = "Registre.xlsm" sPathRegistre = "P:\PO\" Set ShtN = ThisWorkbook.Sheets("PO") ' Ouvrir le classeur en OLE Set WbkR = GetObject(sPathRegistre & "\" & sFicRegistre) Set shtR = WbkR.Sheets("Registre") Const plage = "A2:A1000" Desc = ShtN.Range("B19").End(xlUp) With shtR Set modif = .Range("A2:A1000").Find(ShtN.Range("h20"), , , xlWhole) If Not modif Is Nothing Then li = modif.Row .Range("D" & li).Value = .Range("G19") WbkR.Windows(1).Visible = True WbkR.Close savechanges:=True Application.ScreenUpdating = True End If End With End Sub