[VBA] copier une colonne si la destination est vide

Bonjour à tous

Je cherche à copier une plage (C3:C) puis la coller dans la plage (E3:E) uniquement si cette plage (E3:E) est vide.

Je suis novice sur VBA, j'ai essayé ceci, mais ça ne marche pas :

Sub copier()

'

' copier Macro

'

'

If Range("E3:E") Is Nothing Then

Range("C3:C").Select

Range(Selection, Selection.End(xlDown)).Select

Range("C3:C").Select

Selection.Copy

Range("E3").Select

ActiveSheet.Paste

Else: MsgBox ("Il y a déjà des données inscrites dans la colonne de destination")

End Ifjavascript:Cookie_Eu.write(390);

End Sub

Si quelqu'un aurait une idée, ou bien me mettre sur la piste, je suis preneur. Je vous remercie par avance.

Cordialement Monsach

bonjour

quel est le BUT de cette copie ?

car on n'a jamais besoin de copier (sauf en phase de création d'un classeur Excel)

bonjour

quel est le BUT de cette copie ?

car on n'a jamais besoin de copier (sauf en phase de création d'un classeur Excel)

Bonjour jmd

Tout d'abord, je vous remercie d'avoir répondu aussi vite !

Pour que ma demande soit plus claire, je viens de mettre un fichier en pièce jointe.

Le but de cette copie est:

J'ai un tableau de suivi de Maj de documents. Chaque mois, pour chaque document, je dois renseigner un statut (état du document).

Cependant, d'un mois sur l'autre, le statut ne change pas systématiquement. Je voudrai pour gagner du temps, avoir la possibilité de copier les statuts du mois M sur le mois suivant M+1. Mais par sécurité, s'il y a déjà des statuts rempli dans le mois M+1, je souhaite que la macro(le collage) ne s'effectue pas.

Explication de la pièce jointe.

colonne A (A9:A) => le nom des documents (nb: des nouveaux documents sont inscrits en cours d'année)

colonne B (B9:B) => le statut de chaque document pour le mois de janvier (nb: il n'y a pas de statut pour les doc 5 et 6 car il n'existaient pas encore)

colonne C (C9:C) => les initiales de la personne en charge du statut du document sur le mois de janvier

Ce que je souhaite sur la pièce jointe:

si j'appuie sur le dernier bouton "Copier le mois précédent" en plage (N3:O6), les données de la plage (L9:L) ne se copient pas dans la plage (N9:N) car une des cellule de cette dernière plage (N9:N) n'est pas vide.

J'espère que ma demande est compréhensible. Si ce n'est pas le cas, je m'en excuse d'avance.

Cordialement Monsach

re

je fais de la gestion documentaire avec Excel et aussi parfois avec des progiciels (pour ISO, EN ... )

tu fais trop compliqué.

en juin, on se moque de savoir ce qui s'est passé en janvier

donc faire simple

une liste en colonnes ainsi :

  • réf du doc
  • titre du doc
  • indice de révision
  • processus ou activité ou service ou secteur concerné
  • date rédaction
  • date vérification
  • date validation
  • date diffusion
  • date retrait

un doc = 1 ligne.

1 ligne = 1 doc.

tu peux ajouter des colonnes pour mettre :

nom rédacteu

nom approbateur

nom etc.

jamais de VBA.

bon travail

bon(s) audit(s)

Bonsoir Monsach,

jmd (salut) t'a bien dit qu'il ne faut jamais faire de VBA ! jamais, au grand jamais ! c'est un langage tabou et maudit qui risque de rendre sourd, muet et aveugle !!! c'est pourquoi moi aussi, je ne fais jamais de VBA ! seulement une ou deux petites macros de temps en temps (que D. m'pardonne mon hérésie et mes horribles péchés !) ; voici donc ton fichier modifié en .xlsm (un fichier de type païen) :

tu vois le gros bouton qu'y'a au-dessus de "Juillet" ? fais un clic dessus, et admire le résultat ! comment ? y'a rien eu du tout ? il s'est rien passé ? mais oui, justement, c'est ça qui est bien ! tu avais demandé qu'y'ait pas d'copie effectuée si y'a un statut en colonne N ; or c'est bien le cas, n'est-ce pas ? puisqu'il y a « A valider » en N11 ; en fait, j'ai même fait encore mieux : ça copie rien du tout s'il y a des initiales en colonne O ; or là, en O11, il y a "GG" ; alors maint'nant, efface-moi ces 2 données, puis reclique sur l'même bouton ? vu ? (bon, si t'as rien vu, c'est normal aussi, puisque le VBA rend aveugle !)


* Alt F11 pour effleurer légèrement les instructions maudites du code tabou et criminel (les instructions VBA sont en braille)

* pour échapper aux griffes du Satan qui te poursuit, et revenir sur le paradis Excel de jmd : fais aussi Alt F11

si besoin, tu peux demander une adaptation.

merci de me dire si ça te convient.

dhany

Bonsoir Monsach,

jmd (salut) t'a bien dit qu'il ne faut jamais faire de VBA ! jamais, au grand jamais ! c'est un langage tabou et maudit qui risque de rendre sourd, muet et aveugle !!! c'est pourquoi moi aussi, je ne fais jamais de VBA ! seulement une ou deux petites macros de temps en temps (que D. m'pardonne mon hérésie et mes horribles péchés !) ; voici donc ton fichier modifié en .xlsm (un fichier de type païen) :

tableau de suivi de Maj de documents.xlsm

tu vois le gros bouton qu'y'a au-dessus de "Juillet" ? fais un clic dessus, et admire le résultat ! comment ? y'a rien eu du tout ? il s'est rien passé ? mais oui, justement, c'est ça qui est bien ! tu avais demandé qu'y'ait pas d'copie effectuée si y'a un statut en colonne N ; or c'est bien le cas, n'est-ce pas ? puisqu'il y a « A valider » en N11 ; en fait, j'ai même fait encore mieux : ça copie rien du tout s'il y a des initiales en colonne O ; or là, en O11, il y a "GG" ; alors maint'nant, efface-moi ces 2 données, puis reclique sur l'même bouton ? vu ? (bon, si t'as rien vu, c'est normal aussi, puisque le VBA rend aveugle !)


* Alt F11 pour effleurer légèrement les instructions maudites du code tabou et criminel (les instructions VBA sont en braille)

* pour échapper aux griffes du Satan qui te poursuit, et revenir sur le paradis Excel de jmd : fais aussi Alt F11

si besoin, tu peux demander une adaptation.

merci de me dire si ça te convient.

dhany

Bonsoir dhany

Que dire...que dire... et bien Ouahhhhhhh!

Super c'est exactement ce que je souhaite!!! je suis trop content

Je te remercie dhany!!

Je vais maintenant essayer de comprendre le code de ta macro, afin d'être capable de la refaire et même de l'adapter à mes besoins futurs.

Cordialement

Monsach

merci pour ton retour, et pour avoir passé le sujet en résolu !

bonne continuation !

dhany

Rechercher des sujets similaires à "vba copier colonne destination vide"