Copier/coller une cellule en fonction [Résolu/Fermé]

Signaler
Messages postés
49
Date d'inscription
mardi 4 décembre 2001
Statut
Membre
Dernière intervention
7 octobre 2012
-
Messages postés
49
Date d'inscription
mardi 4 décembre 2001
Statut
Membre
Dernière intervention
7 octobre 2012
-
Bonjour,

Dans un même classeur et entre 2 feuilles, je cherche à copier/coller une cellule en fonction de la réponse donnée par une inputbox. Après de longues recherche je n'arrive pas à comprendre pourquoi mon programme ne fonctionne pas.
1/ il ne tient pas compte de la réponse de la inputbox
2/ il copie et colle de manière aléatoire dans l'autre feuille.
Ci après le script:

Code :
Private Sub CommandButton1_Click()


num = InputBox(" Quel numéro de feuille ?")
If num = "" Then Exit Sub
'ActiveSheet.Copy After:=Sheets(num)


Worksheets("récap").Select

With Worksheets("récap").Range("A:A")
Set c = .Find(What:=num, LookIn:=xlValues)
If Not c Is Nothing Then

ActiveCell.Offset(0, 9).Activate
ActiveCell.Formula = ActiveCell + Sheets("fiche").Range("H43").Value

End If
End With

End Sub
Le code et le bouton se trouve sur la 2ième feuille appelé "fiche"

Merci par avance pour votre aide,

1 réponse

Messages postés
49
Date d'inscription
mardi 4 décembre 2001
Statut
Membre
Dernière intervention
7 octobre 2012
1
J'ai fin par trouver la bonne syntaxe pour ceux que ça intéresse:


Private Sub CommandButton1_Click()


num = InputBox(" Quel numéro de feuille ?", "num")
If num = "" Then Exit Sub
ActiveSheet.Copy After:=Sheets(num)


Worksheets("récap").Select

With ActiveWorkbook.Worksheets("récap").Range("A1:A50")
Set c = ActiveSheet.Columns(1).Cells.Find(What:=num)

If Not c Is Nothing Then
c.Select
c.Select:
ActiveCell.Offset(0, 9).Activate
ActiveCell.Formula = ActiveCell + Sheets("fiche").Range("H43").Value

End If
End With

Worksheets("récap").Select

With ActiveWorkbook.Worksheets("récap").Range("A1:A50")
Set c = ActiveSheet.Columns(1).Cells.Find(What:=num)

If Not c Is Nothing Then
c.Select
c.Select:
ActiveCell.Offset(0, 4).Activate
ActiveCell.Formula = ActiveCell + 1

End If
End With

End Sub