réctif d'un code

claude40

XLDnaute Occasionnel
bonjour a tous
j'ai trouver un code en farfouillant sur le site qui semblait me convenir,je l'est tester sur une feuille excel vierge il marche corectement.mais quand je veut l'integrer a mon projet que je joint a ce message il ne fonctionne plus.quelqu'un pourrai t'il regarder la ou j'ai fait une erreur dans le code et si cela est possible de le réctifier un peu s'il vous plait.car actuellement le code fonctionne comme ceci: quand je selectionne Av/Colle dans la liste de la cellule A11 cela me recopi la ligne en jaune complete en dessous avec les informations dedant.alors que moi je souhaiterai que sa me copie la ligne compléte en dessous mais sans les informations.l'arrêt de la recopie ne s"éffectue que une fois "Fin Broyage" séléctionner dans la liste.

merci d'avance pour votre aide

Regarde la pièce jointe Saisie_Mod_3.xlsm
 

Pièces jointes

  • Saisie_Mod_3.xlsm
    60.7 KB · Affichages: 60
  • Saisie_Mod_3.xlsm
    60.7 KB · Affichages: 61

Kobaya

XLDnaute Occasionnel
Re : réctif d'un code

2 petites idées (collage spécial en valeur ou en format) dans ce bout de code :
Code:
Private Sub Worksheet_Change(ByVal Target As Excel.Range) 'code pour copie de ligne a revoir
    Dim Lg As Integer
    
    Lg = Range("a65536").End(xlUp).Row
    If Not Intersect(Target, Range("a11:a" & Lg)) Is Nothing Then
        Application.EnableEvents = False
            If Target <> "Fin Broyage" Then
                'Range("A11:V11").Copy Destination:=
                Range("a" & Lg + 1).Select
                ' collage spécial en format
                Selection.PasteSpecial XlPasteType.xlPasteFormats
                ' collage spécial en valeur
                'Selection.PasteSpecial XlPasteType.xlPasteValues
            End If
    End If
    Application.EnableEvents = True
End Sub
 

claude40

XLDnaute Occasionnel
Re : réctif d'un code

bonjour a tous,Kobaya
merci pour ta réponse j'ai essayer ton code je n'arrive pas a le faire fonctionner.

oui c bien sa je veut juste coller le format de la zone copier.
excuse moi je ne maitrise pas tres bien excel,mais j'apprend.
merci pour ton aide
 

Staple1600

XLDnaute Barbatruc
Re : réctif d'un code

Bonjour claude40, le fil, le forum


Il faut mettre le code dans la feuille pas dans un module standard.
(Clic-droit sur la feuille -> visualiser le code
et c'esi ici qu'il faut faitre le copier/coller)

Est-ce que c'est ce que tu as fait ?

PS: en enregistrant ton fichier au format xls, plus de monde pourra t'aider
 
Dernière édition:

Kobaya

XLDnaute Occasionnel
Re : réctif d'un code

re,

Le souci, c'est que la commande
Code:
Lg = Range("a65536").End(xlUp).Row
va renvoyer le numéro de ligne de la première cellule non vide, pas de la première cellule formattée qu'il va trouver. Or tu veux justement coller le format de la zone copiée, si j"ai bien compris.

Peut-être faudrait-il essayer avec une variable qui va stocker le numéro de ligne où coller la zone copiée.

J'ai modifié le code. J'avais fait un collage valeur au lieu de collage format.
Essaie-le encore
 

Pièces jointes

  • Saisie_Mod_10.zip
    36.4 KB · Affichages: 26
  • Saisie_Mod_10.zip
    36.4 KB · Affichages: 24
  • Saisie_Mod_10.zip
    36.4 KB · Affichages: 24
Dernière édition:

claude40

XLDnaute Occasionnel
Re : réctif d'un code

merci Kobaya
j'ai essayer et sa me colle la ligne a la ligne 1149,au de me la coller en dessous de la ligne copier,et sa a suprimer la petite liste dans la premiere cellule se qui m'empéche de pouvoir me reservir de la ligne donc de continuer le cycle.
je te joint un fichier exemple pour te montrer le mode de fonctionement que je souhaiterai obtenir dans l'autre fichier.
merci pour tout

Regarde la pièce jointe recopie1.xls
 

Kobaya

XLDnaute Occasionnel
Re : réctif d'un code

claude40,

tu veux faire une copie de la ligne 11 en ligne 12, puis 13, etc... au fur et à mesure des sélections faites en A11

Mais comme je le disais dans mon précédent message, la commande
Lg = Range("a65536").End(xlUp).Row renvoie la dernière ligne non vide de la feuille. Or il y a plein de données entre A1131 et A1149, et même à partir de la ligne 120. Donc la macro ne mettra jamais les données copiées juste en-dessous de la ligne 11.
Et si on modifie le code pour coller à partir de la ligne 12, n'y a-t-il pas un risque d'aller écraser les données en lignes 120, 121,etc ?
 

claude40

XLDnaute Occasionnel
Re : réctif d'un code

re a tous
et merci Kobaya pour la patience dont tu fait preuve a mon égard.
si tu connait un code plus adapter pour réaliser la manipulation tu peut le modifier si tu veut.
voila c'est se que je veut pour etre plus précie dans cette ligne je vais rentrée les résultat de controle d'un broyeur,qui brois des matiéres premiéres avec de l'eau.donc si les premier résultas ne son pas bon on rajoute,du temps de broyage ou de l'eau et on recontrole jusqu'a ce que les données que l'on trouve soit conforme avec un plan de controle.
voila le cheminement donc tant que l'on inscrit pas "fin broyage" dans la liste de la premiére case de la ligne,cela veut dire que le controle du broyeur n'était pas conforme donc qu'il y aura un autre controle d'ou une nouvel ligne.
la commande se fait avec la petite liste dans la premiere case de la ligne.
AV/Colle:rajout d'une ligne,eau:rajout d'une ligne,Rajout:rajout d'une ligne,fin broyage:aucun rajout de ligne car les controle du produit broyer est conforme.
j'espére avoir était plus clair et je reste a ta disposition pour plus de détail.
merci
 

Kobaya

XLDnaute Occasionnel
Re : réctif d'un code

Encore moi :p

Bon, alors... Pas mal de modifs ont été faites.

Les lignes 12 à 1048576 de l'onglet Modèle sont maintenant libres. J'ai déplacé des zones contenant des formules vers le nouvel onglet Parametres.

C'est là que se trouvent aussi maintenant les listes servant à alimenter les menus déroulants (combobox) Operation et Broyeur.

Si tu vas dans le menu Données/Validation des données, tu verras que ça fait maintenant référence à une zone nommée (Operation et NumeroBroyeur).
Ces deux listes sont des listes dynamiques, qui vont s'étendre automatiquement si tu rajoutes des opérations ou des numéros de broyeur, grâce à la formule =DECALER(Parametres!$Colonne$3;;;NBVAL(Parametres!$Colonne:$Colonne)-1). Cette formule bien pratique n'est pas de mon crue, mais vient d'un forum (excel-download, ou peut-être un autre, je ne me rappelle plus ; mais son auteur se reconnaîtra ;)).

Une suggestion : plutôt que la formule "=SI(B11<1;" ";SI(B11<=8;"Diamant";SI(B11<=13;"Essonne";SI(B11=14;"Triton";SI(B11=15;"Daumont";SI(B11=16;"Moritz";""))))))", ne serait-il pas mieux de faire un petit tableau dans Parametres qui contiendrait tous les noms des broyeurs ?

J'espère que mes modifs n'ont pas trop mis la pagaille dans ce fichier avec les formules matricielles...

Je te laisse tester :eek:
 

Pièces jointes

  • Saisie_Mod_10.zip
    48 KB · Affichages: 22
  • Saisie_Mod_10.zip
    48 KB · Affichages: 24
  • Saisie_Mod_10.zip
    48 KB · Affichages: 27

Discussions similaires

Statistiques des forums

Discussions
312 348
Messages
2 087 508
Membres
103 568
dernier inscrit
NoS