Macro pour copier/coller une cellule de la même colonne

Bonjour Forum !

J'aimerais écrire une macro toute simple, mais qui pourtant dépasse mes capacités et VBA :

une macro qui copie la cellule de la ligne 3 située dans la même colonne que la cellule active.

Idéalement, il faudrait que la macro fonctionne quand plusieurs cellules de la même ligne sont actives (plage discontinue)

Mais si c'est trop compliqué je laisse tomber.

Merci pour toute aide !

Bonjour

Un peu vague comme explication

essayes : Code à placer dans le module de la feuille

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim Cel As Range

  For Each Cel In Selection
    If Cel.Row > 3 Then
      Cel = Cells(3, Cel.Column)
    End If
  Next Cel
End Sub

Merci pour cette réponse ultra-rapide !

En effet, mon explication est un peu obscure, je m'en aperçois en la relisant.

Je voulais donc dire :

  • je sélectionne une cellule, disons : L5C8
  • quand je lance la macro, elle copie la cellule L3C8 et la colle en L5C8
  • si possible, si ma sélection comprend plusieurs cellules sur la même ligne, la macro s'applique aussi

J'ai collé ton code dans le module de ma feuille, mais je ne sais pas la déclencher ! Edit : je n'avais pas vu qu'elle se déclenchait toute seule : en fait, je veux pouvoir la lancer manuellement.

(par ailleurs, je préfèrerais une macro qui puisse s'appliquer à tout le classeur, car j'en aurai besoin pour plusieurs feuilles

mais sinon, no problemo, je collerai le code dans le module de toutes les feuilles concernées)

J'espère avoir été plus clair cette fois-ci !

Bon, à la réflexion, je ne suis peut-être pas tout à fait nul en VBA, ni 100% dépendant des autres.

J'ai modifié ton code comme suit, et ça marche !!!

Merci encore.

Sub toto()
Dim Cel As Range

  For Each Cel In Selection
    If Cel.Row > 3 Then
      Cel = Cells(3, Cel.Column)
    End If
  Next Cel
End Sub

Hum hum,

Si ce n'est pas trop demander, j'aimerais bien que quelqu'un m'aide à améliorer le code ci-dessous, pour qu'il copie/colle non pas la valeur des cellules de la ligne 3, mais formule + format + MFC...

Sub toto()
Dim Cel As Range

  For Each Cel In Selection
    If Cel.Row > 3 Then
      Cel = Cells(3, Cel.Column)
    End If
  Next Cel

Cells(ActiveCell.Row, 6) = Cells(3, 6)

End Sub

Merci !!!

PS, pour ceux qui se demandent à quoi peut bien servir cette macro : elle me sert dans des feuilles très complexes et évolutives, manipulées par des gens qui ne sont pas forcément très "Excel" à réparer des lignes où apparaissent des messages d'erreur.

Bonsoir

Si tu veux tout copier

Sub toto()
Dim Cel As Range

  For Each Cel In Selection
    If Cel.Row > 3 Then
      Cells(3, Cel.Column).Copy Cel
    End If
  Next Cel

Cells(3, 6).Copy Cells(ActiveCell.Row, 6)

End Sub

Génial !

Merci beaucoup, Banzai !!!

Bonjour

je cherche également à copier le contenu d'une cellule dans une autre et j'ai un peu de mal.

Des questions pour un test sont posées en colonne B. Les réponses sont demandées en colonne C et ne peuvent que comporter Oui ou Non.

Dans un temps plus éloigné, on refait le même test pour juger de l'évolution et les réponses sont mises en colonne D puis encore après en colonne E et toujours que par Oui et Non

Si la réponse est Oui en C elle sera toujours Oui pour les autres tests

Je souhaite donc que si la réponse Oui est apportée en C , ce Oui soit recopié dans la cellule adjacente des colonnes D et E.

Cela doit s'appliquer à toute la colonne D et E. De même, si la réponse est Non en C puis Oui en D à la même question, le Oui doit pouvoir s'inscrire automatiquement en E

Le code doit être en VBA car il y a déjà d'autres macros qui s'applique à ces colonnes notamment l'interdiction de remplir la colonne D si la colonne C n'est pas remplie et idem pour la colonne E si la colonne D n'est pas remplie.

Merci de votre aide

Bonjour,

Je te conseille de créer un nouveau sujet, car très peu de gens lisent les sujets anciens qui comportent déjà pas mal de réponses.

Et pour ma part, je ne saurai pas t'aider...

Merci je vais suivre ton conseil

Bonjour

A tester

Bonjour,

A tester...

J'ai tenté de regrouper toutes tes procédures dans un module unique (ThisWorkbook)

Cdlt.

Re,

J'ai apparemment de petits bugs dans ma proposition...

Je regarde la chose.

Cdlt.

Fichier révisé ?

Bonjour

Je n'avais pas compris

Jean-Eric a écrit :

J'ai tenté de regrouper toutes tes procédures dans un module unique (ThisWorkbook)

, maintenant si (Merci Jean-Eric)

A tester

Bonjour

Vous êtes formidables!

Un des membres du groupe de travail sur ce fichier m'a fait remarquer qu'une fois saisi le bilan, le bilan et les dates de saisies du bilan en colonnes F, G, et H sont modifiables .

est-il possible que seules les colonnes C,D,E soient libres pour la saisie, que les colonnes A,B, F,G,H,I et suivantes ne le soient pas mais que la date s'inscrivent automatiquement en F, G, H même si on ne peut écrire soit même dedans. Moi je n'y arrive pas. Si je mets les colonnes F,G,H en mode verrouillées, et que je protège l'onglet, l'écriture de la date ne se fait pas et cela entraine un blocage de la macro. J'y arrive si je supprime la protection mais toutes les cellules sont atteignables. Casse-tête! Avez vous une idée?

Merci par avance

Bonjour

A tester

Bonjour. Merci à tous pour votre aide. Grâce à vous, ce programme-test d'évaluations des compétences des internes en médecine générale va voir le jour dans une faculté. Toute l'équipe salue vos compétences. Si une publication a lieu à l'issue, comment devons-nous vous mentionner ( nom, site web?) pour que vous figuriez dans la description de la conception de l'outil?

Cordialement

Bonsoir

Je ne suis décidément pas un bon programmateur de macros. Chacun ses compétences. Aussi vu l'aide précieuse que vous nous avez déjà fourni, le groupe de travail m'a demandé de vous solliciter à nouveau.

Vous m'aviez fourni un fichier avec votre superbe macro qui permettait de reporter les réponses positives dans les colonnes adjacentes. Finalement cela était plus perturbant pour les testeurs quand ils regardaient le résultat global sur l'onglet synthèse avec des bouts de lignes interrompue selon les réponses OUI ou NON.

En conséquence cette fonctionnalité fut abandonnée

Je suis reparti à la pêche aux macros

J'en ai trouvé et les ai assemblées avec du mal sur chaque onglet (vous allez surement rigolez quand vous verrez l'empilement de lignes de codes)

A présent le report des OUI ne se fait plus dans les colonnes du bilan 2 et 3

Les dates de saisies sont masquées et affichables si on saisit le code 87000 en Q4 et se masque si on laisse la cellule vide.

Le problème réside dans la protection des colonnes A et B sur tous les onglets sauf Cursus et Synthèse

Quand j'active la protection de chaque onglet, je ne peux plus faire apparaitre les colonnes F, G, H avec le code 87000

Pouvez vous me trouvez le moyen de protéger les colonnes A et B de tous les onglets sauf Cursus et Synthèse tout en laissant la possibilité de démasquer les colonnes F, G, H avec le code?

Ce serait super.

Merci par avance de votre attention

Cordialement

Bonjour

La macro dans le module ThisWorkbook

Protection sans mot de passe

A tester

Merci à vous de votre travail

Après essai, les colonnes A et B n'étaient pas bloquées.

Mais j'ai trouvé comment faire avec l'outil validation des données

Grâce à vous l'outil est finalisé

Merci encore


je ne vois pas la case à cocher pour signifier que c'est résolu?

Cdt

Rechercher des sujets similaires à "macro copier coller meme colonne"