Coller dans la colonne qui suit la colonne de départ non vide.

guitiful

XLDnaute Nouveau
Bonjour à tous,

Ce sont mes premiers début sur Excel et voilà mes premiers problèmes, en espérant que quelqu'un puisse m'aider, je vous remercie par avance.

Le problème que j'essaye de résoudre : c'est d'utiliser une macro qui me permettrait chaque mois de copier des valeurs dans le mois correspondant, qui se trouve être la colonne du mois suivant.

En essayant d'être plus claire, dans une feuille excel:
- mes colonnes ('B' à 'M') correspond au mois de l'année ('janvier' à 'décembre')
- ma colonne 'N' récupère, grâce à une formule, des valeurs d'un autre classeur.

Ainsi j'ai réussi à créer la macro me permettant de copier les valeurs de la colonne 'N' pour les mettre dans la colonne 'B' ('janvier').

Donc chaque mois la colonne 'N' va se mettre à jour avec de nouvelles valeurs, que je dois ainsi copier dans les colonnes correspondantes ('C' 'D' .... ('fevrier' 'mars'))

Ce que je pense faire c'est donc d'utiliser une macro qui me permet de copier une plage de chiffre dans la colonne 'N' et de coller les valeurs dans la colonne 'B',
si 'B' est remplie alors d'essayer dans 'C'.... ainsi de suite jusqu'à trouver une colonne vide.

Ce raisonnement m'a l'air un peu compliqué, et en faisant mes recherches j'ai vu qu' il y avait la fonction " if else" ainsi que la possibilité de la colonne qui suit avec "Columns + 1", mais rien de ce que j'ai pu essayer n'a fonctionner.

Voici le début de ce que j'ai pu faire :

Sub Macro1()
'
' Macro1 Macro

Range("N2:N33").Select
Selection.Copy
Range("B2").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
End Sub

Est-ce quelqu'un pourrait m'aider à compléter ce code s'il vous plait ?

En pièce jointe, le fichier test sur lequel je travaille.

Je reste à votre disposition pour toute information.
En vous remerciant par avance,
Cordialement Gui.
 

Pièces jointes

  • testmacro.xlsx
    10.6 KB · Affichages: 45
  • testmacro.xlsx
    10.6 KB · Affichages: 48
  • testmacro.xlsx
    10.6 KB · Affichages: 48

guitiful

XLDnaute Nouveau
Re : Coller dans la colonne qui suit la colonne de départ non vide.

Bonjour,

Merci d'avoir répondu si vite et pour le code.

Je viens de tester le code, donc lorsqu'il n'y a pas de données en cliquant sur le bouton "copy" cela le fait bien, par contre quand il y a des données le message me demandant de remplacer s'affiche, si je fais oui cela les remplace et si je fais non rien ne se passe.

Le problème qui se pose c'est que c'est données doivent aller dans la colonne suivante (ex: mois de mars), et ainsi de suite pour les mois suivants.


Sub Recopie()
Dim Cel As Range
Dim truc As Date
Set Cel = Rows(1).Find(what:=Format(Date, "mmmm"), LookIn:=xlValues, lookat:=xlWhole)
If Not Cel Is Nothing Then
If WorksheetFunction.CountA(Range(Cells(2, Cel.Column), Cells(33, Cel.Column))) > 0 Then
If MsgBox("Des données sont déjà présentes pour le mois de " & vbCr & Cel & vbCr & _
"On les remplace ?", _
vbCritical + vbYesNo, "Données présentes") = vbNo Then Exit Sub
End If
Range("N2:N33").Copy Cel.Offset(1, 0)
End If

End Sub
 

Discussions similaires

Statistiques des forums

Discussions
312 085
Messages
2 085 196
Membres
102 814
dernier inscrit
JLGalley