Mise en condition avant lancement macro
Résolu/Fermé
Kakouetta
Messages postés
10
Date d'inscription
jeudi 4 septembre 2014
Statut
Membre
Dernière intervention
1 octobre 2014
-
4 sept. 2014 à 09:04
Kakouetta Messages postés 10 Date d'inscription jeudi 4 septembre 2014 Statut Membre Dernière intervention 1 octobre 2014 - 5 sept. 2014 à 11:25
Kakouetta Messages postés 10 Date d'inscription jeudi 4 septembre 2014 Statut Membre Dernière intervention 1 octobre 2014 - 5 sept. 2014 à 11:25
A voir également:
- Mise en condition avant lancement macro
- Mise en forme conditionnelle excel - Guide
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Macro word - Guide
- Mise a jour chrome - Accueil - Applications & Logiciels
- Mise a jour windows 10 - Accueil - Mise à jour
14 réponses
borntobealive
Messages postés
138
Date d'inscription
jeudi 17 juillet 2014
Statut
Membre
Dernière intervention
25 février 2019
7
4 sept. 2014 à 09:16
4 sept. 2014 à 09:16
slt,
Pour commencer on va faire des coupe sombre dans ton code pour y voir plus clair. Les select sont toujours affichés par l'enregistreur mais sont à proscrir sit tu veux que ton travail se face rapidement :
Pour commencer on va faire des coupe sombre dans ton code pour y voir plus clair. Les select sont toujours affichés par l'enregistreur mais sont à proscrir sit tu veux que ton travail se face rapidement :
sub Archiver() dim cel as range 'je suppose que ta selection est la ligne entière ? set cel = selection 'il faut que je test sur mon ordi pour verifier que ça génèrepas un décalage with Sheets("BT ARCHIVES").Rows("6:6") .Insert Shift:=xlDown .value = cel.value end with 'tu supprime vraiment toute la feuille ? il manque pas la selection de ta ligne ? je me suis permis de rajouter cel. cel.Delete Shift:=xlUp end sub
borntobealive
Messages postés
138
Date d'inscription
jeudi 17 juillet 2014
Statut
Membre
Dernière intervention
25 février 2019
7
4 sept. 2014 à 09:21
4 sept. 2014 à 09:21
ensuite pour verifier ce qui est écri dans la colonne U de ta ligne rien de plus simple utilise la fonction intersect qui te renvoi une range :
sub verif () dim cel as range set cel = intersect(selection, activeSheet.Range("U:U")) 'ensuite un case permet de verifier chacune de tes options : select case cel.value case is = "OK" call archiver() case is ="A SUIVRE" or = "ANNULE" msgbox "attendre bilan ok" case is ="" mgbox "remplir le bilan" end select end sub
borntobealive
Messages postés
138
Date d'inscription
jeudi 17 juillet 2014
Statut
Membre
Dernière intervention
25 février 2019
7
4 sept. 2014 à 09:26
4 sept. 2014 à 09:26
Je te laisse modifier la deuxième macro pour qu'elle ressemble à celles que je t'ai mises. avec le recul je ferais plutôt :
'et tu enlève le
archiver(cel as range )
'et tu enlève le
dim celet le
set celde la macro et tu lui dis sur quelle ligne tu travail au moment de l'appel :
call archiver(cel)
Kakouetta
Messages postés
10
Date d'inscription
jeudi 4 septembre 2014
Statut
Membre
Dernière intervention
1 octobre 2014
4 sept. 2014 à 15:01
4 sept. 2014 à 15:01
merci pour ton temps j'ai testé ta première macro mais cela ne fonctionne pas. il faut savoir que lorsque je l'ai enregistrée, j'avais sélectionné la ligne à transférer. les feuilles 4 et 6 ont les même titres, la première récupère des bons de travaux, la seconde est une archive. pour aller de la 4 vers la 6 il faut que le bilan soit rempli.
une ligne = un bon = un bilan
je libère l'emplacement de la ligne qui par aux archives.
une ligne = un bon = un bilan
je libère l'emplacement de la ligne qui par aux archives.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Kakouetta
Messages postés
10
Date d'inscription
jeudi 4 septembre 2014
Statut
Membre
Dernière intervention
1 octobre 2014
4 sept. 2014 à 15:05
4 sept. 2014 à 15:05
pour la seconde proposition je dois la placer entre sub archiver et dim cel as range ou juste après set cel=selection
cette ligne elimine la ligne sélectionnée ou toute la feuille ?
cel.Delete Shift:=xlUp
cette ligne elimine la ligne sélectionnée ou toute la feuille ?
cel.Delete Shift:=xlUp
PlacageGranby
Messages postés
393
Date d'inscription
mercredi 26 mars 2014
Statut
Membre
Dernière intervention
7 mars 2019
26
4 sept. 2014 à 19:00
4 sept. 2014 à 19:00
En gros, la macro veriif va appeler la macro archiver.
J'imagine que tu as placer un bouton, ton bouton devrait lancer la macro verif et non pas la macro archiver.
Si on résume, tu ne place pas verif dans archiver, mais tu appel la macro verif avec ton bouton et la macro verif, selon les conditions, va appeler la macro archiver ou faire apparaître le message box.
J'imagine que tu as placer un bouton, ton bouton devrait lancer la macro verif et non pas la macro archiver.
Si on résume, tu ne place pas verif dans archiver, mais tu appel la macro verif avec ton bouton et la macro verif, selon les conditions, va appeler la macro archiver ou faire apparaître le message box.
PlacageGranby
Messages postés
393
Date d'inscription
mercredi 26 mars 2014
Statut
Membre
Dernière intervention
7 mars 2019
26
4 sept. 2014 à 19:02
4 sept. 2014 à 19:02
Pour la 2ieme question, Cel est une variable qui correspond a ce qui est selectionné.
cel = selection
Donc,
Si tu selectionnes une ligne, cel c'est une ligne.
Si tu selectionnes deux ligne, cel c'est deux ligne.
Si tu selection la page entière, cel c,est la page entière.
Ensuite, quand on delete Cel, bien on delete ce qui était sélectionné.
cel = selection
Donc,
Si tu selectionnes une ligne, cel c'est une ligne.
Si tu selectionnes deux ligne, cel c'est deux ligne.
Si tu selection la page entière, cel c,est la page entière.
Ensuite, quand on delete Cel, bien on delete ce qui était sélectionné.
borntobealive
Messages postés
138
Date d'inscription
jeudi 17 juillet 2014
Statut
Membre
Dernière intervention
25 février 2019
7
4 sept. 2014 à 22:41
4 sept. 2014 à 22:41
La feuille 4 et 6 avait pas deux nom differents ?
quand tu dis que ça ne fonctionne tu peux présciser genre : ligne qui plante, resultat, type d'erreur, ne fait pas ce qui est attendu, un grizzly a détruit ton ordinateur... :-)
Sheets("BT EN COURS") Sheets("BT ARCHIVES")
quand tu dis que ça ne fonctionne tu peux présciser genre : ligne qui plante, resultat, type d'erreur, ne fait pas ce qui est attendu, un grizzly a détruit ton ordinateur... :-)
Kakouetta
Messages postés
10
Date d'inscription
jeudi 4 septembre 2014
Statut
Membre
Dernière intervention
1 octobre 2014
5 sept. 2014 à 08:24
5 sept. 2014 à 08:24
Bonjour lors de la copie dans la feuille 6, la ligne (6:6) change de format, la ligne sélectionnée est copiée mais les mises en forme conditionnelles ne s'appliquent pas. j'ai vérifié les mises en forme conditionnelles au départ et elles sont correctes.
Merci pour toutes les infos, je repars reformuler mes macros
Merci pour toutes les infos, je repars reformuler mes macros
Kakouetta
Messages postés
10
Date d'inscription
jeudi 4 septembre 2014
Statut
Membre
Dernière intervention
1 octobre 2014
5 sept. 2014 à 08:31
5 sept. 2014 à 08:31
lorsque je lance la macro verif par le bouton (j'ai indiquer affectation verif dans son code) l'écran me signale erreur d'exécution '13' incompatibilité de type
borntobealive
Messages postés
138
Date d'inscription
jeudi 17 juillet 2014
Statut
Membre
Dernière intervention
25 février 2019
7
5 sept. 2014 à 09:26
5 sept. 2014 à 09:26
à quel ligne (surligné en jaune) ?
Kakouetta
Messages postés
10
Date d'inscription
jeudi 4 septembre 2014
Statut
Membre
Dernière intervention
1 octobre 2014
5 sept. 2014 à 09:49
5 sept. 2014 à 09:49
erreur d'exécution porte sur
case is ="A SUIVRE" or = "ANNULE"
ou pour l'autre macro
Case Is = "U" Or "C" Or "S"
soit les infos bloquant et induisant les msgbox
case is ="A SUIVRE" or = "ANNULE"
ou pour l'autre macro
Case Is = "U" Or "C" Or "S"
soit les infos bloquant et induisant les msgbox
borntobealive
Messages postés
138
Date d'inscription
jeudi 17 juillet 2014
Statut
Membre
Dernière intervention
25 février 2019
7
Modifié par borntobealive le 5/09/2014 à 10:00
Modifié par borntobealive le 5/09/2014 à 10:00
J'avais jamais essayer de mettre un
ça devrait mieux marcher
cordialement,
N'oubliez pas de marquez votre post comme résolu !
ordans un case, ça doit pas être possible, donc la solution est de l couper en 2 :
'ensuite un case permet de verifier chacune de tes options : select case cel.value case is = "OK" call archiver() case is ="A SUIVRE" msgbox "attendre bilan ok" case is = "ANNULER" msgbox "attendre bilan ok" case is ="" mgbox "remplir le bilan" end select
ça devrait mieux marcher
cordialement,
N'oubliez pas de marquez votre post comme résolu !
Kakouetta
Messages postés
10
Date d'inscription
jeudi 4 septembre 2014
Statut
Membre
Dernière intervention
1 octobre 2014
5 sept. 2014 à 11:25
5 sept. 2014 à 11:25
Cela fonctionne pour les deux macro. Je te remercie Bonne journée peut être à bientôt pour d'autres soucis