VBA recherche cellule à partir messagebox et colle en dessou

Bonjour les Excelistes,

J'ai un petit soucis, je souhaiterai réaliser une macro qui sélectionne le bilan de ma semaine en cours et le colle dans un autre onglet ( le bilan annuel ) sous la semaine sélectionné préalablement dans la message box.

je sèche pour la macro qui recherche la semaine entrée dans la message box et colle à la suite mon bilan

ci-joint un fichier beaucoup plus explicite

mercid'avance pour votre aide

Bonsoir Meriadec, bonsoir le forum,

En pièce jointe ton fichier modifié. Il est doté d'un bouton de commande Bilan. Tu cliques sur ce bouton, ça ouvre une boîte d'entrée demandant le numéro de la semaine. Tu renseignes le numéro de la semaine et tu valides...

Le code du bouton :

Private Sub CommandButton1_Click() 'bouton "Bilan"
Dim BS As Object 'déclare la variable BS (onglet Bilan Semaine)
Dim BA As Object 'déclare la variable BA (onglet Bilan Annuel)
Dim NS As Variant 'déclare la variable NS (Numéro de la Semaine)
Dim SEM As String 'déclare la variable SEM (SEMaine)
Dim COL As Byte 'déclare la variable COL (COLonne)

ActiveCell.Select 'enlève le focus au bouton
Set BS = Sheets("bilan semaine") 'définit l'onglet BS
Set BA = Sheets("bilan annuel") 'définit l'onglet BA
NS = Application.InputBox("Tapez le numéro de la semaine (sans le S)", "SEMAINE", Type:=1) 'définit la boîte d'entrée BS
If NS = False Then Exit Sub 'si bouton Annuler de la boiîte d'entrée, sort de la procédure
NS = Format(NS, "00") 'formate le numéro de semaine ns
SEM = "S" & NS 'définit la semaine SEM
On Error Resume Next 'gestion des erreurs (en cas d'erreur passe à la ligne suivante)
COL = BA.Rows(1).Find(SEM, , xlValues, xlWhole).Column 'définit la colonne COL (génère une erreur si SEM n'est pas trouvée)
If Err <> 0 Then 'condition : si une erreur a été générée
    Err.Clear 'efface l'erreur
    MsgBox "Numéro de semaine invalide !" 'message
    Exit Sub 'sort de la procédure
End If 'fin de la condition
On Error GoTo 0 'annule la gestion des erreurs
BA.Cells(2, COL).Value = BS.Range("G2").Value 'récupère le bilan de la machine A dans la colonne de la semaine SEM
BA.Cells(3, COL).Value = BS.Range("G4").Value 'récupère le bilan de la machine B dans la colonne de la semaine SEM
BA.Cells(4, COL).Value = BS.Range("G7").Value 'récupère le bilan de la machine C dans la colonne de la semaine SEM
MsgBox "Données envoyées à la semaine " & NS & " du bilan annuel !" 'message
End Sub

Le fichier :

Merci pour la rapidité, ça fonctionne nickel

il me reste plus qu'à faire une modif pour pas qu'on puisse écraser un bilan par erreur

Rechercher des sujets similaires à "vba recherche partir messagebox colle dessou"