Macro pour coller dans cellule si N° variable

Résolu/Fermé
hj - 11 juil. 2018 à 16:25
f894009 Messages postés 17185 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 avril 2024 - 24 juil. 2018 à 13:13
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
A voir également:

3 réponses

f894009 Messages postés 17185 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 avril 2024 1 701
11 juil. 2018 à 16:42
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
0
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
0
f894009 Messages postés 17185 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 avril 2024 1 701
11 juil. 2018 à 18:06
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
0
hj > f894009 Messages postés 17185 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 avril 2024
11 juil. 2018 à 20:33
merci
je dois respecter la chronologie de ma macro, et la condition ne peut etre qu'a la place du
Range("B22").Select
actuelle
0
f894009 Messages postés 17185 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 avril 2024 1 701
Modifié le 12 juil. 2018 à 08:45
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
0
hj > f894009 Messages postés 17185 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 avril 2024
12 juil. 2018 à 10:02
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
0
f894009 Messages postés 17185 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 avril 2024 1 701
Modifié le 13 juil. 2018 à 11:11
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???????????????????????
0
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
0
f894009 Messages postés 17185 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 avril 2024 1 701
13 juil. 2018 à 11:55
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....
0
hj > f894009 Messages postés 17185 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 avril 2024
13 juil. 2018 à 12:00
je ne comprend pas
0
f894009 Messages postés 17185 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 avril 2024 1 701
13 juil. 2018 à 13:24
Re,

Pourquoi vous voulez inserer des lignes plutot que de les mettre en fin de tableau..
0
hj > f894009 Messages postés 17185 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 avril 2024
13 juil. 2018 à 14:20
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
0
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
0
f894009 Messages postés 17185 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 avril 2024 1 701
Modifié le 17 juil. 2018 à 10:54
Re,
C'est la reponse que j'attendais. Je fais

Fichier modifie pour insertion au dessus de 1: https://mon-partage.fr/f/QbJyG145/
0
hj > f894009 Messages postés 17185 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 avril 2024
18 juil. 2018 à 08:03
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
0
f894009 Messages postés 17185 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 avril 2024 1 701
18 juil. 2018 à 08:40
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
0
hj > f894009 Messages postés 17185 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 avril 2024
18 juil. 2018 à 11:28
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
0
f894009 Messages postés 17185 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 avril 2024 1 701
18 juil. 2018 à 11:32
Re,

Ok, je vous fais ca
0