Question concernant un SI Macro Excel

Résolu/Fermé
Martin - 28 mars 2012 à 20:54
 Martin - 28 mars 2012 à 22:05
Bonjour,

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
A voir également:

3 réponses

ccm81 Messages postés 10853 Date d'inscription lundi 18 octobre 2010 Statut Membre Dernière intervention 24 avril 2024 2 404
28 mars 2012 à 21:24
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
0
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
0
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
0