Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Des améliorations pour un fichier !

  • Initiateur de la discussion Initiateur de la discussion WDAndCo
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

WDAndCo

XLDnaute Impliqué
Bonsoir le Forum
Je voudrais copier les lignes 2 à 21 (Saisie VHR) (cela seras variable). Le Nb de lignes à copier est en N1. La copie seras une copie de données pas des formules. Cette copie seras faite a la suite sur la feuille (VHR Annuel).
Les lignes copiées seront effacées de (Saisie VHR) sauf une !

Voila pour ce soir !

Merci d'avance
Dominique
 

Pièces jointes

Re : Des améliorations pour un fichier !

hello

pas compris quel ligne tu voulais garder ....
sinon pour la copie :

Code:
Sub cartman()

Sheets("VHR Annuel").Select
last_row = Range("A65536").End(xlUp).Row
Sheets("Saisie VHR").Select
nb_ligne = Cells(1, 14)
Ligne1 = Range("A2").Row
Ligne2 = Range("A" & nb_ligne + 1).Row
    Rows(Ligne1 & ":" & Ligne2).Select
    Selection.Copy
    Sheets("VHR Annuel").Select
    Cells(last_row, 1).Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
End Sub
http://www.cijoint.fr/cj200806/cijU0RF4tM.zip
 
Re : Des améliorations pour un fichier !

Bonjour suistrop et le Forum,

Merci pour cette macro, elle marche très bien.
Pour ta question, je voudrais supprimer les lignes de 'Saisie VHR' sauf la 2 (avec effacement des données de cette ligne) pour en faite m'en servir de base pour les prochaines saisies (voir mon code de saisie)

1) On saisie les nouvelles données en ligne 2
2) Si nouvelle saisie la ligne 2 est copier puis inséré en ligne 2 de la on repasse au point 1.
Ce n'est pas académique mais sa marche !

Donc il faudrait supprimer toutes les lignes sauf la 1 la 2 est les 3 dernières ont sont les calcules des colonnes est boutons est autre (Pour infos ces 3 dernières lignes ont 'X' en A) et peut être un test ne pas copier la semaine si elle est déjà copier. Peut être du genre : 'Si Saisie VHR A2 = VHR Annuel A2 then le bouton de commande est Inactif

D'avance merci
Dominique

PS : j'ai changé le nom de votre code, par soucis de compréhension (de ma part) !
 

Pièces jointes

Dernière édition:
Re : Des améliorations pour un fichier !

Bonjour le Forum

Après quelques testes, il apparait que la formule de copie ne copie pas la ligne 2 donc dans l'exemple joint pour 20 lignes saisies il y en a 19 de copiées, une nouvelle action sur le bouton me donne 38 !

Merci de votre aide

Dominique
 

Pièces jointes

Dernière édition:
Re : Des améliorations pour un fichier !

hello

erreur ici je pense

Code:
 Cells(last_row , 1).Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False

mais plutot

Code:
 Cells(last_row[COLOR=Red] + 1[/COLOR], 1).Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
 
Re : Des améliorations pour un fichier !

Bonsoir le Forum et suistrop

Ok pour la modif du code, la copie marche cette fois. Reste l'effacement des lignes copiées moins une et le teste pour éviter une copie alors que les lignes sont déjà en archive !

(Pardon pour ce retard, petits problème de connections)

D'avance merci
Dominique
 
Re : Des améliorations pour un fichier !

hello
essai ca
sinon pour la vérif jte propose de tjs copier et virer les doublons ..
Code:
[COLOR=SeaGreen]'on supprime les ligne - 1 ligne[/COLOR]
Sheets("Saisie VHR").Select
Ligne1 = Range("A3").Row
Ligne2 = Range("A" & nb_ligne).Row - 1
Rows(Ligne1 & ":" & Ligne2).Select
    Selection.Delete Shift:=xlUp
 
Re : Des améliorations pour un fichier !

Bonsoir le Forum et suistrop

Pour l'effacement cela est pile poils ! (Action sur le bouton 'Nouvelle Semaine')
Pour les copie en double voir plus les doublons est une très bonne piste ! Mais la vérification doit ce faire sur 5 champs environs : Équipe, Dates, Intervention, Code Géo et Heures !

Sois Concatener mais cela va alourdir le fichier, ou des boucles de contrôle.

A votre avis ?

Amicalement
Dominique
 
Re : Des améliorations pour un fichier !

Hello,

Que l on fasse cela au moment de copier ( on va devoir changer le truc de copie qui ne vérifie rien pour le moment ) ou que l on fasse une vérification par la suite , on dois le faire dans les 2 cas pour les 5 criteres que tu as donnée.

Le plus simple serait que chaque ligne différente est une donnée spécifique comme un code ou je ne sais quoi ....

Ensuite pour supprimer les doublons .... y a plein de macro qui tourne deja sur le forum.
 
Re : Des améliorations pour un fichier !

Bonsoir le Forum et suistrop

Le mieux est quand même de faire cette vérif avant de copier !
Mon idée est Concatener dans une cellule en bout de lignes les 5 données cela donnera un truc de ce genre "Arras03/07/20082378909BKK6,75" delà a mon avis la recherche de doublons et élimination doit être simple ?

Votre avis SVP
Dominique
 
Re : Des améliorations pour un fichier !

Si tu veux faire la vérif avant de copier il faut complétement modifier la macro !
c est pour ca que je te proposer de tjs copier et ensuite vérifier qu il n y a pas de doublon !
 
Re : Des améliorations pour un fichier !

Bonsoir le Forum et suistrop

La vérification peut être faite en colonne BL (sur les 2 feuilles Saisie VHR et VHR Annuel)
Sur la feuille Saisie VHR il y a environ 30 lignes saisies par semaine mais le nombre de ligne saisie est connu en N1

Le nombre de ligne en archive sur VHR Annuel peut être connu avec Derniere_Ligne = Range("A65536").End(xlUp).Row (Attention la 1er ligne est la ligne des SousTotal() et la ligne 2 celle des titres)

Donc avec des boucles (que je ne sais pas faire mais j'ai des reste de BASIC ZX 81)

For X=2 to Saisie VHR (N1) + 1
For Y=3 to Derniere_Ligne
SI Saisie VHR (BL & X) = VHR Annuel (BL & Y) then message (car double) et sortie
Next Y
Next X
Call Copie

Votre avis ?

D'avance merci
Dominique

Le Fichier
 
Dernière édition:
Re : Des améliorations pour un fichier !

Bonjour le Forum

Je pense donc je suis !


Pourquoi ne pas faire le test avant chaque nouvelle entrée ?
Un truc du genre (que je ne sais toujours pas faire)

For Y=3 to Derniere_Ligne
SI Saisie VHR (BL2) = VHR Annuel (BL & Y) then message (car double) et sortie
Next Y
Ok pour la nouvelle saisie ou OK pour l'archivage

Le déclenchement de ce code dois se faire lors d'une nouvelle entrée. Et lors de la copie d'archivage car la dernière ligne saisie n'a pas été testé.

Votre avis ?
Dominique
 
Re : Des améliorations pour un fichier !

Bonsoir le Forum

J'ai cette macro qui mets des "X" en lieu et place de date. Mon souci et que le nombre de ligne est variable. J'ai le nombre de ligne a traiter en N1 ma question : comment faire varier la macro en fonction du nombre de ligne dans la ligne suivante : Selection.AutoFill Destination:=Range("Q2:W33") ou le 33 doit être égale a la valeur de N1 ?

Sub MettreX()
'
' MettreX Macro
' Macro enregistrée le 08/07/2008 par 5513403E
'

'
Range("Q2").Select
ActiveCell.FormulaR1C1 = "=IF(RC3=R1C,""X"","""")"
Selection.AutoFill Destination:=Range("Q2:W2")
Range("Q2:W2").Select
Selection.AutoFill Destination:=Range("Q2:W33")
Columns("O:AF").Select
ActiveWindow.Zoom = True
Range("O1").Select
End Sub

D'avance merci.
Dominique
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
5
Affichages
938
LeSaintKebab
L
T
Réponses
2
Affichages
1 K
Tava94
T
H
Réponses
21
Affichages
3 K
H
S
Réponses
1
Affichages
946
Shark10c
S
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…