Bug copier-coller après désactivation d'une USF
Bonjour,
Je rencontre un soucis sur un copier-coller après le click d'un bouton dans une USF.
Après avoir cliqué sur ce bouton, j'essai d'ordonner un copier-coller de 2 cellules dans "ActiveSheet"
(le nom peut changer selon le cas c'est pourquoi il ne posède pas de nom précis) et ensuite on les recopie en page d'accueil.
Le problème est que
soit ces valeurs s'effacent dans "ActiveSheet" et donc ensuite il est écrit dans les 2 cellules désignées de la page d'accueil "0" (si Val1 et 2 sont Long)
soit rien n'est affiché en Accueil mais les valeurs en ActiveSheet sont effacées (si Val1 et 2 sont en String).
Je ne comprends pas pourquoi ces Delete surtout que je n'ai nullepart ordonné .Clearsontents
Pouvez-vous m'aider ? Ci-dessous le code
Merci
Private Sub Run01_Click()
' clik bouton USF
Dim i As Integer
Dim Val1 As Long
Dim Val2 As String
Dim Numl As Long
Application.ScreenUpdating = False ' Bloque le rafraîchissement de l'écran
' Résultats de la USF retranscrits sur Excel dans la page "ActiveSheet
With ActiveSheet
' Partie alpha
For i = 1 To 3
If Me.Controls("Checkbox" & i) = True Then
Range("C" & i + 1) = "ok"
Else
Range("C" & i + 1) = "NC"
End If
Next i
' on prend les valeurs des cellules C1 et G3 toujours dans ActiveSheet (par exmple C1=12 et G3=Carbone)
Range("C1").Value = Val1
Range("G3").Value = Val2
End With
' on désactive la USF
Unload Me
' Dans la page d'accueil
Sheets("Accueil").Select
With Sheets("Accueil")
' Detection 1e ligne vide du tableau de synthese en colonne B
Numl = .Range("B" & Rows.Count).End(xlUp).Offset(1, 0).Row
'on recopie les valeurs de la page ActiveSheet dans la page d'accueil
.Range("B" & Numl).Value = Val1
.Range("C" & Numl).Value = Val2
'Position du curseur sous la ligne ou l'on a inscrit les valeurs Val1 et Val2
ActiveCell.Row = .Range("B65536").End(xlUp).Row
End With
End SubBonjour
Ce qui est sur c'est qu'il faut ton fichier
Je ne sais pas si c'est voulu ou pas mais normalement entre le With ActiveSheet et le End With toutes les références au cellules (Range("...") ) doivent avoir u . (point) devant
Tu as bien déclarer Val1 et Val2 mais tu ne les as pas initialisés
Donc par défaut une variable de type Long vaut 0 (pour cela que tu as 0), et une variable de type String vaut "" (le fait de l'écrire dans une cellule équivaut à effacer cette cellule)