Créer une macro avec condition
Résolu/Fermé
asmascetti
Messages postés
4
Date d'inscription
lundi 12 novembre 2012
Statut
Membre
Dernière intervention
13 novembre 2012
-
12 nov. 2012 à 12:00
asmascetti Messages postés 4 Date d'inscription lundi 12 novembre 2012 Statut Membre Dernière intervention 13 novembre 2012 - 13 nov. 2012 à 09:27
asmascetti Messages postés 4 Date d'inscription lundi 12 novembre 2012 Statut Membre Dernière intervention 13 novembre 2012 - 13 nov. 2012 à 09:27
A voir également:
- Créer une macro avec condition
- Créer un compte gmail - Guide
- Créer un compte google - Guide
- Créer un groupe whatsapp - Guide
- Créer une adresse hotmail - Guide
- Créer une liste déroulante excel - Guide
4 réponses
michel_m
Messages postés
16603
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
16 décembre 2023
3 310
12 nov. 2012 à 12:11
12 nov. 2012 à 12:11
Bonjour
Tes 2 tableaux sont ils sur la même feuille ?
quelle sont les colonnes utilisées par tes tableaux ?
au besoin
mettre le classeur sans données confidentielles en pièce jointe sur
https://www.cjoint.com/
puis copier l'adresse du lien et la coller dans le message de réponse
Tes 2 tableaux sont ils sur la même feuille ?
quelle sont les colonnes utilisées par tes tableaux ?
au besoin
mettre le classeur sans données confidentielles en pièce jointe sur
https://www.cjoint.com/
puis copier l'adresse du lien et la coller dans le message de réponse
michel_m
Messages postés
16603
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
16 décembre 2023
3 310
Modifié par michel_m le 12/11/2012 à 14:45
Modifié par michel_m le 12/11/2012 à 14:45
Re, comme ta boutique refuse l'accès à cjoint , je ne peux pas t'envoyer ma maquette ! :o(
Donc:
1 a macro ci dessous vérifie que la ligne sélectionnée est bien dans le tableau "à effectuer"
2 elle mémorise les colonnes A à E de la ligne et supprime la ligne
3 les données sont inscrites à la fin du tableau "effectué"
edit 14:45 simplifié la macro
Michel
Donc:
1 a macro ci dessous vérifie que la ligne sélectionnée est bien dans le tableau "à effectuer"
2 elle mémorise les colonnes A à E de la ligne et supprime la ligne
3 les données sont inscrites à la fin du tableau "effectué"
Sub transférer_w_effectué() lig_w = ActiveCell.Row derlig = Columns("A").Find("", Range("A2")).Row - 1 'détecion ligne en dehors du tableau "à réaliser" If derlig < lig_w Then GoTo erreur 'mémorise la ligne à transfèrer w_fini = Range(Cells(lig_w, "A"), Cells(lig_w, "E")).Value ' supprime cette ligne ligne Rows(lig_w).Delete ligvid = Columns("A").Find("*", , , , , xlPrevious).Row + 1 Range("A" & ligvid).Resize(1, 5) = w_fini Exit Sub erreur: MsgBox "mauvaise sélection de ligne", vbCritical End Sub
edit 14:45 simplifié la macro
Michel
asmascetti
Messages postés
4
Date d'inscription
lundi 12 novembre 2012
Statut
Membre
Dernière intervention
13 novembre 2012
12 nov. 2012 à 14:50
12 nov. 2012 à 14:50
je sais que cela n'est pas la procédure mais avez vous un mail auquel je peux vous envoyer le dossier
la macro ne marche pas
en attente de vous lire
merci
la macro ne marche pas
en attente de vous lire
merci
michel_m
Messages postés
16603
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
16 décembre 2023
3 310
12 nov. 2012 à 15:21
12 nov. 2012 à 15:21
j'ai fait une maquette et ca fonctionnait suivant les spécifications que tu m'as donné
la maquette (à regarder peut-^tre à la maison)
https://www.cjoint.com/?3Kmpuk17dKE
ou por transmettre le dossier utilises la possibilité de message perso de CCM
la maquette (à regarder peut-^tre à la maison)
https://www.cjoint.com/?3Kmpuk17dKE
ou por transmettre le dossier utilises la possibilité de message perso de CCM
asmascetti
Messages postés
4
Date d'inscription
lundi 12 novembre 2012
Statut
Membre
Dernière intervention
13 novembre 2012
13 nov. 2012 à 09:27
13 nov. 2012 à 09:27
merci michel_m et ccm81 tout marche chez moi mais au travail c'est une grande histoire
il me bloque l'accès et je ne peux l'utiliser correctement
merci encore de votre aide
il me bloque l'accès et je ne peux l'utiliser correctement
merci encore de votre aide
ccm81
Messages postés
10900
Date d'inscription
lundi 18 octobre 2010
Statut
Membre
Dernière intervention
2 novembre 2024
2 425
12 nov. 2012 à 15:21
12 nov. 2012 à 15:21
bonjour
Une proposition un peu différente de celle de michel (salut à toi)
Le tableau 1 des taches à effectuer reste "entier" ici en A3:E19, ce qui te permet de rajouter des tâches (à effectuer)
- à mettre dans le module de la feuille active
- la macro est à activer par un double clic sur une cellule de la ligne à transférer
bonne suite
Une proposition un peu différente de celle de michel (salut à toi)
Le tableau 1 des taches à effectuer reste "entier" ici en A3:E19, ce qui te permet de rajouter des tâches (à effectuer)
- à mettre dans le module de la feuille active
- la macro est à activer par un double clic sur une cellule de la ligne à transférer
Option Explicit Const T1 = "A3:E19" Const lideb1 = 3 Const lifin1 = 19 Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean) Dim li1 As Long, plage1 As String Dim lifin2 As Long If Target.Value = "" Or Intersect(Target, Range(T1)) Is Nothing Then Exit Sub ' ligne à deplacer li1 = Target.Row plage1 = "A" & li1 & ":E" & li1 ' 1° ligne vide tableau T2 lifin2 = Cells.Find("*", , , , xlByRows, xlPrevious).Row + 1 ' copie li1 sur lifin2 Range(plage1).Copy Cells(lifin2, 1) ' remonter les lignes de T1 If li1 = lifin1 Then plage1 = "A" & li1 & ":E" & li1 Range(plage1).ClearContents Else For li1 = li1 + 1 To lifin1 plage1 = "A" & li1 & ":E" & li1 Range(plage1).Copy Cells(li1 - 1, 1) Range(plage1).ClearContents Next li1 End If End Sub
bonne suite
12 nov. 2012 à 13:49
désolé je ne peux vous joindre mon dossier
5 colonnes : A - B - C - D - E
A (numéro des taches)
B (désignation)
C (importance)
D (date a effectuer)
E nom du technicien
18 lignes qui concernent les taches à effectuées
et 6 lignes qui concernent les taches déjà éffectuées
soit à ta question
" Tes 2 tableaux sont ils sur la même feuille ? " = OUI
j'espere vous avoir aidé dans ma réponse
en vous remerciant d'avance de votre aide