Boucle copie-colle ligne avec condition de valeur d'une cellule
Fermé
Valentine06
-
1 juil. 2013 à 11:10
mapatos
mapatos
- Messages postés
- 1
- Date d'inscription
- samedi 15 février 2014
- Statut
- Membre
- Dernière intervention
- 15 février 2014
A voir également:
- Macro copier ligne dans autre onglet si condition respectée
- Vba excel copier lignes avec condition ✓ - Forum - VB / VBA
- Macro copier ligne dans autre onglet si condition - Forum - Excel
- Boucle copie-colle ligne avec condition de valeur d'une cellule - Forum - VB / VBA
- Copier ligne(s) sous condition dans une autre feuille ✓ - Forum - VB / VBA
- Macro copier sur ligne suivante ✓ - Forum - Excel
3 réponses
f894009
1 juil. 2013 à 17:03
- Messages postés
- 16646
- Date d'inscription
- dimanche 25 novembre 2007
- Statut
- Membre
- Dernière intervention
- 13 août 2022
1 juil. 2013 à 17:03
Bonjour,
prevoir une raz sur l'onglet Contratsàrenouveler ou autre suivant ce que vous voulez faire de la liste cree.
Deux facons de faire:
'empilage inverse par decalage vers le bas
'suivant votre programmation de depart
'empilage normal par ecriture vers le bas
Bon courage
A+
prevoir une raz sur l'onglet Contratsàrenouveler ou autre suivant ce que vous voulez faire de la liste cree.
Deux facons de faire:
'empilage inverse par decalage vers le bas
'suivant votre programmation de depart
Sub Renouvellement_Inv() Dim plage As Range, cel As Range Application.ScreenUpdating = False valcherch = Sheets("Recherchecontratsparfournisseur").Range("E24") With Worksheets("BD") derlig = .Range("D" & Rows.Count).End(xlUp).Row Set plage = .Range("D9:D" & derlig) End With For Each cel In plage If cel <= valcherch Then cel.EntireRow.Copy Worksheets("Contratsàrenouveler").Range("A3").Select Selection.Insert Shift:=xlDown End If Next cel Application.ScreenUpdating = True End Sub
'empilage normal par ecriture vers le bas
Sub Renouvellement_Norm() Dim plage As Range, cel As Range 'stop rafraichissement ecran Application.ScreenUpdating = False 'valeur a chercher valcherch = Sheets("Recherchecontratsparfournisseur").Range("E24") With Worksheets("BD") 'derniere cellule colonne D derlig = .Range("D" & Rows.Count).End(xlUp).Row 'defintion plage a tester en memoire Set plage = .Range("D9:D" & derlig) End With derlig = 0 With Worksheets("Contratsàrenouveler") 'test plage For Each cel In plage If cel <= valcherch Then 'premiere cellule vide apres derniere non vide colonne D derlig = .Range("D" & Rows.Count).End(xlUp).Row + 1 'premier lancement If derlig = 2 Then derlig = 9 End If 'copy ligne entiere cel.EntireRow.Copy .Range("A" & derlig) End If Next cel End With 'rafraichissement ecran Application.ScreenUpdating = True End Sub
Bon courage
A+
Bonjour
Je te remercie beaucoup !!! Ton code fonctionne très bien !
Valentine
Je te remercie beaucoup !!! Ton code fonctionne très bien !
Valentine
Hulet14
24 janv. 2014 à 10:17
- Messages postés
- 1
- Date d'inscription
- vendredi 24 janvier 2014
- Statut
- Membre
- Dernière intervention
- 24 janvier 2014
24 janv. 2014 à 10:17
Bonjour,
Merci à vous deux car ce code ma bien servi pour ceux que je veux faire, le seul problème est que j'ai une erreur de compilation et il me dit : "erreur de compilation, attendu fin d'instruction", Et je ne comprend clairement pas pourquoi j'ai ca? si vous avez la moindre idée ca m'aiderait beaucoup.
Merci
Merci à vous deux car ce code ma bien servi pour ceux que je veux faire, le seul problème est que j'ai une erreur de compilation et il me dit : "erreur de compilation, attendu fin d'instruction", Et je ne comprend clairement pas pourquoi j'ai ca? si vous avez la moindre idée ca m'aiderait beaucoup.
Merci
f894009
24 janv. 2014 à 11:26
- Messages postés
- 16646
- Date d'inscription
- dimanche 25 novembre 2007
- Statut
- Membre
- Dernière intervention
- 13 août 2022
24 janv. 2014 à 11:26
Bonjour,
Sur quelle ligne le programme est en erreur ???
Sur quelle ligne le programme est en erreur ???
mapatos
15 févr. 2014 à 17:14
- Messages postés
- 1
- Date d'inscription
- samedi 15 février 2014
- Statut
- Membre
- Dernière intervention
- 15 février 2014
15 févr. 2014 à 17:14
bonjour,
j'ai un problème identique que je n'arrive pas à régler malgré l'utilisation de vos macro, voici ma demande :
->J'ai créé une condition : lorsque l'utilisateur sélectionne son nom
->dans
le menu déroulant, la colonne date se met automatiquement à jour.
Je voudrai, que lorsque l'utilisateur complète sur la même ligne la cellule remarque (colonne D), cela verrouille les colonnes A, B, C, D de la ligne.
Ainsi les autres utilisateurs ne pourront plus modifier la cellule et aussi, la date verrouillée ne se mettra plus à jour au redémarrage du fichier.
->Deuxième demande : je voudrai que lorsque la cellule "urgent" apparait
(j'ai créé une condition pour que cela apparaisse au bout de 15 jours lorsque la remarque n'est pas réalisée), que la ligne soit recopiée en feuille urgent.
Attention chaque feuille correspond à un mois de l'année et doit répondre également à cette condition.
Merci de votre aide.
j'ai un problème identique que je n'arrive pas à régler malgré l'utilisation de vos macro, voici ma demande :
->J'ai créé une condition : lorsque l'utilisateur sélectionne son nom
->dans
le menu déroulant, la colonne date se met automatiquement à jour.
Je voudrai, que lorsque l'utilisateur complète sur la même ligne la cellule remarque (colonne D), cela verrouille les colonnes A, B, C, D de la ligne.
Ainsi les autres utilisateurs ne pourront plus modifier la cellule et aussi, la date verrouillée ne se mettra plus à jour au redémarrage du fichier.
->Deuxième demande : je voudrai que lorsque la cellule "urgent" apparait
(j'ai créé une condition pour que cela apparaisse au bout de 15 jours lorsque la remarque n'est pas réalisée), que la ligne soit recopiée en feuille urgent.
Attention chaque feuille correspond à un mois de l'année et doit répondre également à cette condition.
Merci de votre aide.