vinceca
Messages postés2Date d'inscriptionmercredi 3 octobre 2007StatutMembreDernière intervention 4 octobre 2007
-
3 oct. 2007 à 18:21
vinceca
Messages postés2Date d'inscriptionmercredi 3 octobre 2007StatutMembreDernière intervention 4 octobre 2007
-
4 oct. 2007 à 18:34
Bonjour,
J'ai un souci de programmation VB sur un fichier excel.
En fait, je dispose d'une base de donnée constituée de plusieurs lignes ayant chacunes des 3 paramètres répartis sur 3 colonnes.
Je souhaiterais créer une macro qui fixe une valeur précise à un des 3 paramètres. Lorsqu'une des lignes vérifie ce critère je souhaiterais alors copié cette ligne et la coller sur une autre feuille. Cependant, la ou je bloque, c'est que j'aimerais copier cette meme ligne plusieurs fois.
<?xml:namespace prefix v ns "urn:schemas-microsoft-com:vml" /??><v:shapetype id="_x0000_t75" stroked="f" filled="f" path="m@4@5l@4@11@9@11@9@5xe" o:preferrelative="t" o:spt="75" coordsize="21600,21600"> Exemple:
<v:stroke joinstyle="miter"></v:stroke><v:formulas><v:f eqn="if lineDrawn pixelLineWidth 0"></v:f><v:f eqn="sum @0 1 0"></v:f><v:f eqn="sum 0 0 @1"></v:f><v:f eqn="prod @2 1 2"></v:f><v:f eqn="prod @3 21600 pixelWidth"></v:f><v:f eqn="prod @3 21600 pixelHeight"></v:f><v:f eqn="sum @0 0 1"></v:f><v:f eqn="prod @6 1 2"></v:f><v:f eqn="prod @7 21600 pixelWidth"></v:f><v:f eqn="sum @8 21600 0"></v:f><v:f eqn="prod @7 21600 pixelHeight"></v:f><v:f eqn="sum @10 21600 0"></v:f></v:formulas><v:path o:connecttype="rect" gradientshapeok="t" o:extrusionok="f"></v:path><?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /??><o:lock aspectratio="t" v:ext="edit">
Les paramètres pour chacunes des lignes sont le nom, le prénom et l'age d'un individu;
Il y a autant de lignes que d'individus
Et je souhaiterais par exemple lorsqu'un des individus à 20 ans, copier toute la ligne et la coller 10 fois dans une autre feuille. Lorsqu'il a 40 ans copier la ligne et la coller que 5 fois et ainsi de suite pour 5-6 ages différents.
vinceca
Messages postés2Date d'inscriptionmercredi 3 octobre 2007StatutMembreDernière intervention 4 octobre 2007 4 oct. 2007 à 18:34
Merci pour tes infos !
En fait j'ai pas réussi a faire comme tu me l'avais conseillé mais j'ai réussi à trouver une autre méthode. En voici une partie:
For i = 1 To x
If Cells(i, 5).Value = "A" Then
Cells(i, 5).EntireRow.Select
Selection.Copy
Selection.Insert Shift:=xlDown
End If
Next
End Sub
Avec cette méthode, j'arrive bien à identifier le paramètre que je veux et à copier la ligne ou je veux, cependant il y a un petit bug dans la boucle. En effet, comme j'insère une ligne, la boucle, en passant à la ligne suivante, retombe sur la meme ligne qu'avant et donc la recopie indéfiniment !
Est ce que quelqu'un aurait un truc pour éviter que la boucle se morde la queue...