Comment écrit-on cette condition en VBA ?

  • Divorce
  • famille
  • avocat
  • avocats
  • peres
  • enfants
  • droit de la famille
  • divorcer
  • sos
  • papas
  • sospapa
  • Comment écrit-on cette condition en VBA ?


    J'ai une macro à faire avec Excel, et l'outil d'enregistrement de macros ne me permet pas de faire exactement ce que je veux. Voila : J'ai un doc Excel sur trois feuilles, et je veux que le contenu de la ligne sélectionnée sur la première passe soit sur la seconde, soit sur la troisième, selon le contenu d'une case de la ligne sélectionnée (disons la colonne D, la ligne étant variable). Par exemple, si je suis sur ma première page, j'ai cliqué une ligne et je veux que si dans la colonne D à cette ligne il y a "T", la ligne est copiée sur la deuxième page. Si sur cette ligne dans la colonne D il y a "P", alors cette fois la macro la copie/colle sur la troisième page. Comment écrit-on donc cette condition en VBA ? D'avance merci beaucoup. :-)

    Comment écrit-on cette condition en VBA ?

    avec le copier/coller If Sheets(1).Cells(1, 4) = "T" Then Sheets(1).Rows("1:1").Copy Sheets(2).Rows("1:1").Select ActiveSheet.Paste ElseIf Sheets(1).Cells(1, 4) = "P" Then Sheets(1).Rows("1:1").Copy Sheets(3).Rows("1:1").Select ActiveSheet.Paste End If remplace Copy par Cut si tu veux faire du couper/coller Si t'as un problème contact moi sur mon mail Petite précision, si tu veux que la macro se lance automatiquement quand tu cliques sur une ligne, il ne faut pas que tu écrives ta macro dans un module, mais dans l'objet Feuil1 de ton projet VBA. Tu peux alors choisir dans le menu déroulant en haut à droite à partir de quel événement tu veux que se lance la macro (BeforeRightClick, Activate, SelectionChange,...) Autre précision, si tu veux mettre la ligne selection en variable, tu n'as qu'à déclarer par exemple un compteur comme ça: dim iNumLigne as integer iNumLigne=Selection.Row ainsi iNumLigne aura comme valeur le numéro de la ligne selectionnée (ou le numéro de ligne de la cellule selectionnée) donc tu peux mettre if sheets(1).cells(iNumLigne,4)= "T" then ...

    Comment écrit-on cette condition en VBA ?

    Voici un lien,en espérant que cela te serve. Bonne journée http://vb.developpez.com/faqvba/

    Comment écrit-on cette condition en VBA ?

    Pour l?exemple: - Variable = compteur - A = 2ème compteur (pour ne pas écraser la valeur préalablement écrite) - Temps = valeur de la cellule que tu veux recopier sur une autre feuille, pris dans cet exemple dans la colonne 1 ------------------------------------------------------- Dim i, a, temp For i = 1 to 1000 Worksheets(Feuil1).activate Cells(i,4).select Temp = Cells (i,1).value (par exemple, ça définit la valeur que tu veux recopier) If cells (i,4).value = ?T? then Worksheets(?Feuil2?).activate Cells(a,1).select Cells(a,1).value = Temp a = a +1 End if If cells (i,4).value = ?P? then Worksheets(?Feuil3?).activate Cells(a,1).select Cells(a,1).value = Temp a = a +1 End if Next ----------------------------------------------------------- Ça devrait le faire :p

    Comment écrit-on cette condition en VBA ?

    voici ce que tu attends, c'est cadeau c'est tout fait comme tu veux : Sub Macro1() 'exemple pr la colonne d For x = 1 To 10 Select Case Mid(Range("d" & x), 1, 1) '(x represente ta variable pr chercher dune ligne a une autre) Rows(x & ":" & x).Select Selection.Copy Case "t" Sheets("Feuil2").Select Rows(y & ":" & y).Select 'y represente la ligne a laquel tu es arrive sur ta 2eme feuil ActiveSheet.Paste y = y + 1 Case "p" Sheets("Feuil3").Select Rows(z & ":" & z).Select 'z represente la ligne a laquel tu es arrive sur ta 3eme feuil ActiveSheet.Paste z = z + 1 Next x End Sub

    Comment écrit-on cette condition en VBA ?

    Déjà, il faudrait savoir si tu as déjà des données sur tes feuilles 2 et 3, ensuite si tu veux écraser ces données ou mettre ta nouvelle ligne à la suite... Si tu veux, envois ton fichier (ou un extrait) par mail, avec le détail exact de ce que tu veux et je te fais le nécessaire.


    Copyright 2006 © Coverys Ltd. ® | Qui sommes nous ? | Samir MOULA | Sites thématiques | Valid HTML 4.01