[VBA/Excel] copier cellule vers autre feuille

styvea Messages postés 36 Statut Membre -  
Morgothal Messages postés 1350 Statut Membre -
Bonjour,

J'aimerais copier le contenu d'une cellule dans une autre feuille dans la 1ère cellule vide que je trouve.

Enfin ce serait plutot plusieurs cellules, j'ai une feuille au format :

nom | prénom | date

et j'aimerais en fonction du mois de la date, recopier le nom et le prénom dans une autre feuille (j'ai 12 autres feuilles, une pour chaque mois).

On m'a parlé de la fonction var = Month(Range("cellule de la date"))

Mais je ne sais pas faire la copie du nom et du prénom =/

Quelqu'un saurait coder ça en maccro svp?
Ou du moins me lancer sur la voix car je suis débutant dans le domaine =/

Merci

1 réponse

  1. Morgothal Messages postés 1350 Statut Membre 184
     
    Bonjour,

    Tout d'abord écrire ce bout dans un nouveau module :

    Global vardate As Date
    Global nom, prenom As String
    Global compteur As Integer

    Et ensuite copier dans ThisWorkbook et adapter tout ça à ta feuille :

    Sub choisir_feuille_en_fct_du_mois()

    For compteur = 1 To X 'X c'est le nombre de lignes qu'il y a dans la colonne des noms
    Sheets("le_nom_de_ta_feuille_ou_tu_as_tes_noms").Select

    nom = Cells(compteur, numéro_de_colonne_de_tes_noms)
    prenom = Cells(compteur, numéro_de_colonne_de_tes_prenoms)
    vardate = Cells(compteur, numéro_de_colonne_de_tes_dates))

    If Month(vardate) = 1 Then
    Sheets("Janvier").Select
    Call je_cherche_la_premiere_cellule_vide_et_je_colle
    End If

    If Month(vardate) = 2 Then
    Sheets("Février").Select
    Call je_cherche_la_premiere_cellule_vide_et_je_colle
    End If

    If Month(vardate) = 3 Then
    Sheets("Mars").Select
    Call je_cherche_la_premiere_cellule_vide_et_je_colle
    End If
    'etc...

    Next
    End Sub

    Sub je_cherche_la_premiere_cellule_vide_et_je_colle()

    Dim noligne As Integer

    noligne = 1

    While Cells(noligne, numéro_de_colonne_ou_tu_veux_coller_ton_nomprénomdate) <> ""
    noligne = noligne + 1
    Wend

    Cells(noligne, numéro_de_colonne_ou_tu_veux_coller_le_nom) = nom
    Cells(noligne, numéro_de_colonne_ou_tu_veux_coller_le_prénom) = prenom
    Cells(noligne, numéro_de_colonne_ou_tu_veux_coller_la_date) = vardate

    End Sub

    Voilà j'espère que ça t'aidera :)

    A+
    3