Macro pour coller dans cellule si N° variable [Résolu] - Excel

Macro pour coller dans cellule si N° variable Macro pour coller dans cellule si N° variable - » Forum - Excel Macro copier/coller plusieurs cellules (Résolu) » Forum - Bureautique Macro copier-coller deplacer sur la droite si cellule pleine (Résolu) » Forum - Excel Macro: Copier Coller X fois, X étant un nombre dans une cellule [Résolu] (Résolu) » Forum - VB / VBA Copier une plage de cellule ( range) sur un autre fichier excel [Résolu] » Forum - VB / VBA

Bonjour,

je souhaite une macro pour :
dans une cellule "A1" je rentre un numéro qui sera variable , comme 5 ou 15 ou ...,
je copie une plage comme (B8:G8)
je veux la coller dans la cellule (B numéro saisie dans A1) soit (B5) ou (B15) ou (B...)


merci par avance

Forum

Macro pour coller dans cellule si N° variable Macro pour coller dans cellule si N° variable - » Forum - Excel Macro copier/coller plusieurs cellules (Résolu) » Forum - Bureautique Macro copier-coller deplacer sur la droite si cellule pleine (Résolu) » Forum - Excel Macro: Copier Coller X fois, X étant un nombre dans une cellule [Résolu] (Résolu) » Forum - VB / VBA Copier une plage de cellule ( range) sur un autre fichier excel [Résolu] » Forum - VB / VBA

Web: www.shapebootstrap.net

57 réponses

Marsh

NOVEMBER 9, 2013 AT 9:15 PM

Bonjour,

Sub Bouton1_Cliquer()     With Worksheets("feuil1")         If .Cells(1, 1) <> "" And IsNumeric(.Cells(1, 1)) Then 'test si non vide et du numerique             .Range("B8:G8").Copy .Range("B" & .Cells(1, 1))         Else             MsgBox "Attention: entrez des chiffres.....!"         End If     End With End Sub

Reply
réponses:
  • auteur

  • auteur

    bonjour , Merci
    cela fonctionne tres bien sur une feuille vierge

    mais je ne suis pas arrivé a ajouter cette condition dans ma macro a la place de " Range("B22").Select "
    6eme avant dernière ligne


    Sub inser_ligne_2()
    '
    ' inser_ligne_2 Macro
    '

    '
    Sheets(Array("Amberieu PREVISION", "Amberieu REALISER")).Select
    Sheets("Amberieu PREVISION").Activate
    Rows(Range("A1") + 0 & ":" & Range("A1") + 0).Select
    Selection.Insert Shift:=xlDown
    Sheets("Amberieu REALISER").Select
    ActiveWindow.SmallScroll Down:=-12
    Range("A20:AW20").Select
    Selection.AutoFill Destination:=Range("A20:AW54"), Type:=xlFillDefault
    Range("A20:AW54").Select
    ActiveWindow.SmallScroll Down:=-30
    ActiveWindow.ScrollColumn = 18
    ActiveWindow.ScrollColumn = 17
    ActiveWindow.ScrollColumn = 16
    ActiveWindow.ScrollColumn = 15
    ActiveWindow.ScrollColumn = 14
    ActiveWindow.ScrollColumn = 13
    ActiveWindow.ScrollColumn = 12
    ActiveWindow.ScrollColumn = 11
    ActiveWindow.ScrollColumn = 10
    ActiveWindow.ScrollColumn = 6
    ActiveWindow.ScrollColumn = 3
    ActiveWindow.ScrollColumn = 1
    Range("B21").Select
    Sheets("Amberieu PREVISION").Select
    Rows("7:7").Select
    Selection.Copy
    Rows(Range("A1") + 0 & ":" & Range("A1") + 0).Select
    ActiveSheet.Paste
    Application.CutCopyMode = False
    Range("B8:G8").Select
    Selection.Copy

    Range("B22").Select

    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
    :=False, Transpose:=False
    Range("A16").Select
    Application.CutCopyMode = False
    End Sub

    MERCI PAR AVANCE

  • f894009

    Re,

    mais je ne suis pas arrivé a ajouter cette condition
    Ben normalement vous devez ajouter cette condition avant la troixieme ligne de code puisque vous utilisez la valeur de A1

  • f894009

    merci
    je dois respecter la chronologie de ma macro, et la condition ne peut etre qu'a la place du
    Range("B22").Select
    actuelle

  • f894009

    Bonjour,

    Tout a fait Thiery, mais

    Rows(Range("A1") + 0 & ":" & Range("A1") + 0).Select 

    Troisème ligne erreur si en A1 vide ou non numerique.................................

    De plus trop de select....
    votre code un peu modifie, a vous de voir
    Sub inser_ligne_2()     '     With Worksheets("Amberieu PREVISION")         If .Cells(1, 1) = "" Or Not IsNumeric(.Cells(1, 1)) Then 'test si  vide ou pas numerique             MsgBox "Attention: entrez des chiffres.....!"             Exit Sub         End If     End With     ' inser_ligne_2 Macro     Sheets(Array("Amberieu PREVISION", "Amberieu REALISER")).Select     '??????????????????     Sheets("Amberieu PREVISION").Activate     Rows(Range("A1")).Insert Shift:=xlDown     Selection.Insert Shift:=xlDown     Sheets("Amberieu REALISER").Select     Range("A20:AW20").Select     Selection.AutoFill Destination:=Range("A20:AW54"), Type:=xlFillDefault     Sheets("Amberieu PREVISION").Select     Rows("7:7").Copy Rows(Range("A1") + 0 & ":" & Range("A1") + 0)     Range("B8:G8").Select       '?????????????????     Selection.Copy          '????????????????????????     Range("B22").Select      Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _     :=False, Transpose:=False     Range("A16").Select     '?????????????????????     Application.CutCopyMode = False End Sub 

  • f894009

    Bonjour
    merci déjà pour le temps passer sur mon problème

    mais si l’écriture est simplifié , elle ne résout pas mon problème

    dans une cellule "A1" je rentre un numéro qui sera variable , comme 5 ou 15 ou ...,
    je copie une plage comme (B8:G8)
    je veux la coller dans la cellule (B numéro saisie dans A1) soit (B5) ou (B15) ou (B...)

    merci

  • f894009

    Re,
    En effet vu que j'ai garde une partie de votre code pour la copie, ca fouare. Je rectifie avec le code que je vous avais mis precedemment

    Sub inser_ligne_2()     '     With Worksheets("Amberieu PREVISION")         If .Cells(1, 1) = "" Or Not IsNumeric(.Cells(1, 1)) Then 'test si  vide ou pas numerique             MsgBox "Attention: entrez des chiffres.....!"             Exit Sub         End If     End With     ' inser_ligne_2 Macro     Sheets(Array("Amberieu PREVISION", "Amberieu REALISER")).Select     '??????????????????     Sheets("Amberieu PREVISION").Activate     Rows(Range("A1")).Insert Shift:=xlDown     Selection.Insert Shift:=xlDown     Sheets("Amberieu REALISER").Select     Range("A20:AW20").Select     Selection.AutoFill Destination:=Range("A20:AW54"), Type:=xlFillDefault     Sheets("Amberieu PREVISION").Select     Range("B8:G8").Copy Range("B" & Cells(1, 1))     'Range("B8:G8").Select       '?????????????????     'Selection.Copy          '????????????????????????     'Range("B22").Select    '????????????????????????      'Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks :=False, Transpose:=False     Range("A16").Select     '?????????????????????     Application.CutCopyMode = False End Sub


    Y aurait peut-etre moyen d'optimiser un peu,, car les select ca fait desordre

  • f894009

    encore merci
    cela marche
    mais le copier de la ligne avant n'existe plus
    Sheets("Amberieu PREVISION").Select
    Rows("7:7").Select
    Selection.Copy
    Rows(Range("A1") + 0 & ":" & Range("A1") + 0).Select

    ma macro marche sauf que le coller de B8:G8 est toujours en B22 et je voudrai trouvez l’écriture a la place de
    Range("B22").Select
    j'ai essayé plusieurs solution comme
    Range("B" & ("A1")).Select
    ou
    Range("B & "A1" ").Select
    ect ....

  • f894009

    Re,
    Vous utilisez votre code ou le "mien", car dans le "mien" y a pas de collage en B22
    Et pourquoi toujours des select, vous n'en avez pas besoin........................................

  • f894009

    Merci de ne pas m'abandonner
    je vais essayer d’être plus explicite par écrit
    Une feuille avec plusieurs onglets
    Dont onglet
    Amberieu PREVISION
    Amberieu REALISER
    Les mises en forme des onglets sont identiques
    Saisir le N° de la ligne dans A1 ou nous souhaitons insérer une ligne au dessus.

    Ce que la macro doit faire
    Sélectionner les 2 onglets
    Insère la ligne en simultané au dessus de la ligne du n° saisie dans A1
    Désélectionner les onglets
    Sélectionner onglet Amberieu REALISER
    Sélectionner la ligne A20 AW20 la tirer jusqu'à la ligne A54
    Sélectionner onglet Amberieu PREVISION
    Copier la ligne A7 (contient des calcules)
    La coller dans la ligne qui a été inséré
    Copier les cellules B8 :G8
    Les coller dans les cellules B :G de la ligne qui a été inséré ( sans effacer les données des autres cellules de la ligne)
    FIN

  • f894009

    Bonjour,
    Enfin des explications. Vous pouvez mettre votre fichier, sans données confidentielles, a dispo pour être au mieux par rapport a votre demande
    un des sites de partage de fichier
    https://www.cjoint.com

  • f894009

    bonjour,

    https://www.cjoint.com/c/HGnhdajdbqr

    le fichier est en construction

    sur les onglets Prevision et Realiser les lignes de 1 a 7 et la 20 seront masqué
    le bouton macro sera cree sur prevision

    merci par avance

  • f894009

    https://www.cjoint.com/c/HGnhl6JE2Pr

    mes excuses prendre celui ci

Marsh

NOVEMBER 9, 2013 AT 9:15 PM

Re,

Une feuille avec plusieurs onglets
Classeur avec plusieurs feuilles, onglet: endroit ou il y a le nom de la feuille, c'est plus excel
Je regarde la chose

Question: pourquoi choix d'insertion de la ligne ?????

Autre question: si vous insérez des ligne que devient la plage "A20:AW54" ecrit en dur???????????????????????

Reply
réponses:
  • auteur

  • auteur

    insertion - le fichier va etre saisie par une personne limite

    oui la plage A20 : Aw54 doit suivre l'évolution des insertions ou suppression de ligne

    merci

  • f894009

    Re,
    insertion - le fichier va etre saisie par une personne limite
    Peut-etre, mais pourquoi inserer une ligne ald de la mettre a la fin ????? Simple reflexion....

  • f894009

    je ne comprend pas

  • f894009

    Re,

    Pourquoi vous voulez inserer des lignes plutot que de les mettre en fin de tableau..

  • f894009

    les informations saisie sont copier visuellement sur une application, et le visuel doit etre identique pour la compréhension de la personne qui est limite (handicap) cette solution d’insérer par un N° de ligne est la plus adapté,

    pour une personne non limité , j'aurai juste fais un tuto sans même faire des macros

    merci par avance si vous avez une solution , tel que demander

    merci pour le temps que vous passez a me comprendre et a apporter des solutions

  • f894009

    Re,

    Ok, ca roule

  • f894009

    Re,

    Question: la saisie des cellules colonnes AZ a LC se fait quand: pour l'insertion ligne ou par la suite ????

  • f894009

    les colonnes AC a LC , doivent etre vierge à l'insertion de la ligne , et la saisie est manuel apres,

    SVP attention je pense que vous souhaitez bien faire en améliorent mon fichier , mais j'ai beaucoup d'autre contrainte et de macro a réaliser , merci d'essayer de m'apporter une réponse juste sur ma problématique.

    cordialement

  • f894009

    Bonjour,

    merci d'essayer de m'apporter une réponse juste sur ma problématique.
    Je ne réponds qu'a la demande en ameliorant si possible le code de cette demande

    fichier modifie: https://mon-partage.fr/f/M7HPdciE/

  • f894009

    Bonjour

    Merci pour votre travail et le temps passé

    je viens essayer votre fichier , j'ai rentre dans la cellule a8 le chiffre 1 pour inseré une ligne au dessus de l'agent "Nom A" mais cela n'a pas fonctionner , message d'erreur "Attention pas de numéro de ligne ou numero trop grand (max47) !!!!

    j'ai essayer un autre chiffre et idem ,

    je vois aussi que la cellule A1 n'est plus lié a la cellule A8 A7

    merci

  • f894009

    Bonjour,

    je vois aussi que la cellule A1 n'est plus lié a la cellule A8 A7
    votre demande:
    dans une cellule "A1" je rentre un numéro qui sera variable , comme 5 ou 15 ou ...,

  • f894009

    merci

    j'ai rependu trop vite , pour le liens cella peut ce corriger pas de souci ,
    je viens d'essayer avec un chiffre directement en A1 , mais le 1 , ne fonctionne pas , affiche une erreur d’exécution et pour les nombres 47 48 affiche "Attention pas de numéro de ligne ou numero trop grand (max47) !!!!

    pourtant les lignes sont dans le tableau

    nous devons pouvoir insérer aussi bien au dessus du N1 comme en dessous du dernière ligne saisie c'est pourquoi j'avais laisser des lignes vierge N° en A

    vue l'heure je vous souhaite un bonne appétit

  • f894009

    Re,

    mais le 1 , ne fonctionne pas
    Tout a fait Thierry, je prends en compte le numero de ligne EXCEL pas le numero colonne A. Je rectifie ca
    Le fait d'ajouter une ligne a fin+1 pose quelques problemes, mais je regarde

  • f894009

    Bonjour,

    Nous somme bien d'accord, ajout ligne c'est apres le dernier, pas ou j'ai envie et pas d'insertion au dessus de numero 1????
    Autre detail, comment la ou les personnes vont connaitre la derniere ligne pour l'ajout ????

  • f894009

    re

    mon fichier final ressemblera plus a celui joint avec bien sur des lignes masquées , des macro en plus , des onglets masqués ou en plus etc ...

    https://www.cjoint.com/c/HGrgRIh22Ir

  • f894009

    Re,
    En attendant, fichier modifie pour inser et ajout : https://mon-partage.fr/f/YmjNAjY9/

  • f894009

    Merci bien pour le travail fourni

    la possibilité d’insérer au dessus du n° 1ou après la dernière ligne saisie (ou au dessus de la dernière ligne vierge)

    sauf erreur ne fonctionne pas

Marsh

NOVEMBER 9, 2013 AT 9:15 PM

Bonjour

l'ajout de ligne peut se faire
au dessus de chaque N° de ligne y compris du N° 1 (première ligne de saisie) et aussi en dessous de la dernière ligne saisie

c'est pour cela que j'ai laisser
une ligne vierge en 20 qui sera masqué
et des lignes vierges Numéroté en dessous de la dernière ligne saisie

ai je été clair ?

merci par avance

Reply
réponses:
  • auteur

  • f894009

    Re,
    C'est la reponse que j'attendais. Je fais

    Fichier modifie pour insertion au dessus de 1: https://mon-partage.fr/f/QbJyG145/

  • f894009

    Bonjour

    merci
    pour l'insertion au dessus de N°1 c'est top

    mais ne fonctionne pas en dessous de la dernière ligne saisie

    merci par avance

  • f894009

    Bonjour,

    Chez moi ca marche, juste une erreur pour realiser: fichier corrige: https://mon-partage.fr/f/xx1ScDgE/
    Pour ajout en fin de tableau, il faut ecrire le numero de la derniere ligne +1

  • f894009

    Bonjour

    Magnifique super cela marche , je ne serai jamais arrivé a ce résultat

    je l'ai adapté a mon fichier

    serait il possible de vous solliciter pour une amélioration a intégrer
    sur les onglets PREVISION ET REALISER
    en ligne 20 que je grise j'ajoute des filtres,
    Mais pour que l'insertion fonctionne correctement il faut que sur les 2 onglets les filtres soit EFFACE
    est il possible d’intégré cette condition dans la macro?

    et même quand aucun filtre est sélectionné

    Merci pour tout le temps que vous avez passé

    bien cordialement

  • f894009

    Re,

    Ok, je vous fais ca

  • f894009

    Re,

    Est-ce que vous vous voulez les remettre automatiquement????????????????

  • f894009

    c'est à dire ?

    j'ai mis les filtres permanent sur toutes les colonnes

    bonne appétit

  • f894009

    Re,

    enleve filtre, regardez si ok

    https://mon-partage.fr/f/dV62Nhik/

  • f894009

    re, oui merci cela marche

    je souhaitai que les filtres reste et juste de les effacer si une section était faite,

    je vais choisir votre option la personne c'est mettre les filtres

    merci

  • f894009

    Re

    je viens de m'apercevoir
    quand nous insérons la dernière ligne N°38
    les colonnes AX:LC ne sont pas recopié ? (vierge)

    merci

  • f894009

    Re,

    Ok, je regarde. En Effet, erreur de plage de recopie du a un copier/froisser
    Fichier modifie: https://mon-partage.fr/f/vmsk2NtE/

  • f894009

    Bonjour ,

    merci bien

    mais dans l'onglet REALISER les colonnes ax:Lc ne sont pas vierge , elles ont les éléments copier du dessus

    encore un grand merci

  • f894009

    Bonjour,

    Desole, mais chez moi les colonnes Ax:LC sont vierges apres insertion ou ajout!!!!!!!!!!!!!!!!!!!

  • f894009

    re

    plus de précision dans mon constat

    dans onglet REALISER
    la dernière ligne N° 28 si les colonnes AX: LC ne sont pas vierge
    si ajoute ligne N°29 les colonnes ax:lc ne sont pas vierge et identique a la ligne 28

    la dernière ligne N° 28 si les colonnes AX: LC sont vierge
    si ajoute ligne N°29 les colonnes ax:lc sont vierge

    dans l'onglet PREVISION rien a signaler

    merci si vous pouvez encore regarder

    bonne appétit

  • f894009

    Re,

    En effet, je regarde la chose

    Une ligne de code en commentaire dans la procedure Ajout, fichier modifie: https://mon-partage.fr/f/0f8fdhkm/

  • f894009

    Bonjour

    j'ai une erreur d’exécution 1004

    .Cells(L1, 1).Resize(1).EntireRow.SpecialCells(xlConstants).ClearContents 'efface le contenu des cellules sans formules

  • f894009

    Re,
    J'avais eu la meme erreur, c'eet pour cela que je l'avais mise en commentraire. Quand je vous ai fait la derniere modif (pas de ligne en commentaire), c'etait ok.
    Je regarde le chose

  • f894009

    Re

    encore merci

    je regarderais cela des lundi ,

    je vous souhaite un bon week end

    cordialement

  • f894009

    Bonjour,

    Fichier modifier pour effacement AX:LC sur ajout ligne: https://mon-partage.fr/f/i7ikwwIN/

  • f894009

    Bonjour

    je reviens vers vous , votre fichier marche bien
    quand je transpose la macro sur mon fichier en apportant les modifs nécessaires

    j'ai un petit constat comme par exemple :

    je rentre le N° 1 ou 10 ...tout fonctionne sauf que je me retrouve avec 2 fois le N°1 ou 10 ... en colonne A
    " je ne comprend pas la formule est correcte"

    je ne peux pas aussi saisir le dernier N°
    le dernier N° est 45
    si je veux que mon ajout est le N° 45
    et donc que le 45 passe 46
    cela ne fonctionne pas

    je vous joint mon fichier en cour de construction

    https://www.cjoint.com/c/HGxjqwFT4jq

    détail moins important que je prêterai attention si j’insère des lignes entre par exemple entre 1 et 10 (ligne qui seront masqué) je dois revoir la Macro pour la récrire


    en tout cas je ne peux que vous remercier car ce que je pensais simple a résoudre dans ma première énoncé, je m’aperçois du travail que vous avez fourni

    Merci d'avance pour votre réponse

    cordialement

  • f894009

    Bonjour,

    Tout a fait normal de ne pas pouvoir inserer une ligne en avant derniere ligne pour le moment. Je regarde la chose car il faut que je reflechisse un peu pour resoudre ce petit inconvenient, ceci dans le code de "mon" fichier et le votre car j'ai limite depuis le debut l'insertion avant l'avant derniere ligne et ensuite, j'ai oublie de resoudre l'insertion avant derniere ligne

  • f894009

    Re,
    Je dois aussi resoudre quelques dysfonctionnements, y compris dans le dernier fichier que je vous ai mis a dispo

  • f894009

    Bonjour,

    fichier modifier pour insertion ligne au dessus de 1 a ligne de fin et ajout ligne apres fin
    https://mon-partage.fr/f/5qkslFLS/

  • f894009

    UN GRAND BONJOUR ET UN ÉNORME MERCI

    voila afin que vous voyez a quoi votre action a participé, je vous joint le fichier près a être en fonction

    https://www.cjoint.com/c/HGyj1MGAK3q

    sans vous je n'en serai pas la

    encore merci pour tes ces échange et votre persévérance à ne pas abandonner et m'abandonner

    et bravo

    cordialement

  • f894009

    Re,

    persévérance à ne pas abandonner et m'abandonner
    Le temps ne compte pas, seul le resultat compte

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed