begin process at 2012 02 14 10:26:41
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Visual Basic 6

 > 

Divers

 > 

Trucs & Astuces

 > 

Macro Excel


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Macro Excel

mercredi 24 septembre 2008 à 20:41:09 | Macro Excel

catbou

Bonjour,

J'ai posé une question hier soir, et au miracle, ce matin j'avais la réponse !!!
C'est super génial. Je pensais pouvoir continuer ma macro seule, mais je suis vraiment trop nulle !!!
Voilà mon problème :
Lorsque ma colonne E commence par 6 j'insère une ligne en dessous en me copiant ma ligne (merci à dedenet2 et bigfish_le vrai) :
  Dim lig As Long
  Range("E2").Select
  reprise:
     ActiveCell.Offset(1, 0).Select
     If Len(ActiveCell.Value) = 0 Then Exit Sub
     If Left(ActiveCell.Value, 1) = "6" Then
         Rows(ActiveCell.Row).Copy
         Rows("2").Insert Shift:=xlDown
         ActiveCell.Offset(1, 0).Select
     End If
 GoTo reprise

Mais je veux ensuite que sur  ma ligne copiée il y ait dans la colonne G : "Toto".

Merci de votre aide
mercredi 24 septembre 2008 à 21:02:01 | Re : Macro Excel

bigfish_le vrai

Membre Club
Salut,

j'ai repondu a une question hier soir et y a pas eu miracle car elle ne s'en sort toujours pas toute seul

essaye ça cela devrait aller (j'ai pas testé)

  Dim lig As Long
  Range("E2").Select
  reprise:
     ActiveCell.Offset(1, 0).Select
     If Len(ActiveCell.Value) = 0 Then Exit Sub
     If Left(ActiveCell.Value, 1) = "6" Then
         Rows(ActiveCell.Row).Copy
         Rows("2").Insert Shift:=xlDown
         Range("G2").Value = "Toto"
         ActiveCell.Offset(1, 0).Select
     End If
 GoTo reprise

Don't be upset I am just kidding . You are welcome with all of your questions


mercredi 24 septembre 2008 à 21:04:31 | Re : Macro Excel

alosamoelle

Bonjour,
rajoute avant ton end if
  ActiveCell(1, 4).Select
        ActiveCell.FormulaR1C1 = "toto"

voila et bon courage
  
mercredi 24 septembre 2008 à 21:19:22 | Re : Macro Excel

catbou

Merci, mais aucune des solutions ne fonctionne !!!
La copie des lignes ne se fait plus correctement et Toto n'est mis qu'une seule fois
mercredi 24 septembre 2008 à 21:39:27 | Re : Macro Excel

catbou

Voila ma macro :

Dim lig As Long
Range("E2").Select
reprise:
 ActiveCell.Offset(1, 0).Select
 If Len(ActiveCell) = 0 Then Exit Sub
 If Left(ActiveCell.Value, 1) = "6" Then
 Rows(ActiveCell.Row).Copy
 ActiveCell.Rows("2:2").EntireRow.Insert Shift:=xlDown
 ActiveCell(2, 7).Select
 ActiveCell.Value = "toto"
 ActiveCell.Offset(1, 0).Select
 
 End If
 
Maintenant la copie se fait lors de la première cellule où il y a 6 et toto est au bon endroit.
La macro continue de défiler mais ne fait rien d'autre !!
Lorsqu'elle s'arrête, le curseur reste sur la première ligne qui  a été copiée.



mercredi 24 septembre 2008 à 21:51:00 | Re : Macro Excel

dedenet2

Réponse acceptée !
bonjour ,
bigfish_le vrai ,ta solution est plus courte que la mienne , c'est mieux
mais cela me marche pas.J'ai remplacé "Rows("2").Insert Shift:=xlDown" par
"Rows(ActiveCell.Row + 1).Insert Shift:=xlDown".
Tes insertions se faisait sur la ligne 2.

Pour rajouter ce fameux "Toto" en colonne G ,cela donne:

  Dim lig As Long
  Range("E2").Select
reprise:
     ActiveCell.Offset(1, 0).Select
     If Len(ActiveCell.Value) = 0 Then Exit Sub
     If Left(ActiveCell.Value, 1) = "6" Then
         Rows(ActiveCell.Row).Copy
         Rows(ActiveCell.Row + 1).Insert Shift:=xlDown
         Range("G" & ActiveCell.Row + 1).Value = "Toto"
         ActiveCell.Offset(1, 0).Select
     End If
GoTo reprise
En esperant que ça te conviennes.
A++
mercredi 24 septembre 2008 à 22:05:45 | Re : Macro Excel

bigfish_le vrai

Membre Club
Réponse acceptée !
Alors la j'ai de quoi me mettre en colere

mais j'ai pas envie je suis fatigué ! Une remarque quand meme : arrete avec tes activecell et autre select a tout va !

le code qui suis fait exactement ce que tu veux donc fait un copier coller, rien de plus.

Dim lig As Long
Range("E2").Select
reprise:
 ActiveCell.Offset(1, 0).Select
 If Len(ActiveCell.Value) = 0 Then Exit Sub
 If Left(ActiveCell.Value, 1) = "6" Then
    Rows(ActiveCell.Row).Copy
    Rows(2).EntireRow.Insert Shift:=xlDown
    Range("G2").Value = "toto"
    ActiveCell.Offset(1, 0).Select <--- attention sans cette ligne tu vas tomber dans une boucle sans fin, enfin ici ce ne sera pas vraiment sans fin mais si cela t'amuse d'essayer !
 End If
GoTo reprise
End Sub


mercredi 24 septembre 2008 à 22:12:06 | Re : Macro Excel

bigfish_le vrai

Membre Club
Réponse acceptée !
dedenet2 : pour ma part j'ai compris que les insertions doivent toujours ce faire en ligne 2 pour décaler les valeurs existantes vers le bas.


mercredi 24 septembre 2008 à 22:45:20 | Re : Macro Excel

dedenet2

Réponse acceptée !
Salut
bigfish_le vrai , tu as raison concernant l'utilisation des "Activecell" ,
des "select" , des offsets et autres.
En général , les débutants les utilisent souvent.
j'ai lu aussi que "Goto" n'est pas conseillé.(Plutôt "For..Next")
Moi-même aussi , bien que çà peut marcher , je l'ai évite.
J'ai l'impression de faire un parcours d'orientation.......!
On n'a pas toujours le temps de reprendre tous les programmes de tout le
monde.En plus , ce nest pas la règle du forum.
Catbou fait l'effort de nous montrer un bout de code de conception personnelle.
On l'aide sur le code qu'il nous montre.
Avec l'expérience et la recherche , ça va s'améliorer.

Bonne nuit si t'est fatigué !
A++


jeudi 25 septembre 2008 à 06:29:52 | Re : Macro Excel

catbou

Bonjour,

Merci les gars, mais pas de guerre svp, je suis vraiment novice.
Je prend la solution dedenet2 car j'obtiens exactement ce que je veux.
Par contre bigfish_le vrai, ton code désorganise mon fichier. Les nouvelles lignes créées se mettent en début de fichier. Je dois le trier après.

Bonne journée.


1 2

Cette discussion est classée dans : ligne, macro, select, activecell, if


Répondre à ce message

Sujets en rapport avec ce message

Insertion ligne et actualisation colonnes formule + copier coller quelques une ligne limité à qq colonnes si msg d'erreur sans cette ligne [ par Jean2208 ] Bonjour à tous,j'ai deux problèmes intéressants pour certains, s'il vous plait HELP!!!!Je ne suis pas un programmeur, je sais juste comment me démmerd Actualiser des formules ds 1feuille avc BVA + copier-coller une ligne dans une autre feuille [ par Jean2208 ] <img style="BORDER-LEFT-COLOR: black; BORDER-BOTTOM-COLOR: black; BORDER-TOP-COLOR: black; BORDER-RIGHT-COLOR: black; border-size: 1px" src="http://ww accelerer code vb [ par seeb ] Bonjour,je souhaiterai accelerer les codes ci joint, j'ai pu lire que l'on pouvait déclarer chaque variable avec option explicit, mais j'avou que je n procedure evenementiel sur une plage de cellue [ par daiman ] bonjour,j'ai crée un macro qui fonctionne bien. j'aimerais quel ce lance automatiquement sur toutes les cellule de la plage qui sont colorisé en rouge Aide création fichier excel sous vb [ par thuglife6938 ] Bonjour à tous,Voila j'ai fais un programme que je ne peux pas encore tester et je voudrais savoir si la syntaxe vous parait bonne et si j'ai le droit executer macro sur plusieurs feuilles [ par lumiere1808 ] bonjour, j'ai un souci et j'aurai besoin de votre aide...j'ai creer un macro pour importer dans un tableau les données de mes fichiers mais je n'arriv Gestion d'erreur [ par Skygod ] Bonjour,Je rencontre un problème en ce moment avec une gestion d'erreur du style On Error GoTo 1. Je vous explique, c'est une application en excel. J' Insertion et copie macro Excel [ par catbou ] Bonjour,Je souhaite par une macro Excel, modifier mon fichier. J'ai très peu de connaissance VB 6, et je n'arrive pas à finaliser ma macro.Lorsque ma Transformer une macro excel à l'aide d'une autre macro [ par serbai ] Bonjour à tous, Tout d'abord j'espère être sur le bon forum en ce qui concerne ma question. Est-il possible de créer une macro sur excel qui permett UserForm valeur cellule en texte au lieu de numérique [ par Schmilblick007 ] Bien le bonjour à tous, Pour ne pas dépareiller de certains, je suis plus qu'un débutant en la matière et je tâtonne comme je peux dans les codes VBA


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,608 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales