Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : trouvez l'erreur (y'a a pas 7, mais 1) [ Archives Visual Basic / J'AI BESOIN D'AIDE !!!! :) ] (marsupio)

jeudi 17 mars 2005 à 16:08:59 | trouvez l'erreur (y'a a pas 7, mais 1)

marsupio

Bon, c'est pas un jeu... voilà, j'ai ce code qui ne fonctionne pas

En effet, il est sencé remplir un tableau lorsqu'il trouve une référence identique. Si cette référence a déjà des données, il insère une ligne et remplie cette ligne supplémentaire.

Le problème, c'est que j'ai l'impression que ma boucle ne fini pas: si "nbr" a comme valeur 50, je vais avoir 50 lignes insérées, au lieu d'une seule.

Bref, étant novice, j'imagine que des programmateurs comme vous sauront trouver l'erreur en quelques secondes.

Sub erreur()

'je copie les données à insérer sur le tableau
    Range("J5:P5").Copy
    Workbooks.Open Filename:= _
        "C:\Documents and Settings\mr\Mes documents\Quiksilver ancienne version\tableau.xls"
    Range("AM2").PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
        False, Transpose:=False

 ' nbr correspond au nombre de lignes du tableau
    Dim nbr As Integer

'je fais une boucle qui test la référence de chaque ligne
    Dim boucle As Integer
    nbr = Range("AC2")
    For boucle = 0 To nbr Step 1
    If Range("AM2") = Range("B10").Offset(boucle) Then
'si la référence n'a pas de données, alors je copie bêtement...
        If Range("L10").Offset(boucle) = "" Then
        Range("AN2:AS2").Copy
        Range("L10").Offset(boucle).PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
        False, Transpose:=False
        Range("B10").Offset(boucle).Select
        End If
'si il y a déja des données, j'insère une ligne, fais de la mise en page, et copie ensuite
            If Range("L10").Offset(boucle) = Text Then
            Rows("10:10").Offset(boucle).Insert shift:=xlUp
            Range("B10:B11").Offset(boucle).MergeCells = True
            Range("D10:D11").Offset(boucle).MergeCells = True
            Range("E10:E11").Offset(boucle).MergeCells = True
            Range("F10:F11").Offset(boucle).MergeCells = True
            Range("G10:G11").Offset(boucle).MergeCells = True
            Range("H10:H11").Offset(boucle).MergeCells = True
            Range("I10:I11").Offset(boucle).MergeCells = True
            Range("J10:J11").Offset(boucle).MergeCells = True
            Range("B10:J11").Offset(boucle).VerticalAlignment = xlTop
            Range("AN2:AS2").Copy
            Range("L10").Offset(boucle).PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
        False, Transpose:=False
'j'efface ma 1er copie
        Range("AM2:AS2").ClearContents
            End If
    End If
Next boucle

'je ferme ma source
    Windows("fiche entreprise.xls").Activate
    Application.DisplayAlerts = False
    Windows("fiche entreprise.xls").Close
    Windows("tableau.xls").Activate
End Sub
---

Voilà, merci d'avance

PS: j'ai déjà pas mal posté sur ce site, et ai eu de l'aide de la part de Sabrina, que je remercie, et m'excuse de ne pas avoir donné suite à ma dernière demande, car j'ai préféré abandonner les "boites de dialogues".. Merci Sabrina


jeudi 17 mars 2005 à 16:42:32 | Re : trouvez l'erreur (y'a a pas 7, mais 1)

JoePatent

Je ne comprend pas trop tes operations avec ton range AM2.

Mais voilà...
If Range("AM2") = Range("B10").Offset(boucle) then
'si la référence n'a pas de données, alors je copie bêtement...
        If Range("L10").Offset(boucle) = "" Then
        Range("AN2:AS2").Copy
        Range("L10").Offset(boucle).PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
        False, Transpose:=False
        Range("B10").Offset(boucle).Select
        End If
'si il y a déja des données, j'insère une ligne, fais de la mise en page, et copie ensuite
blablabala

tu as pas mit de else entre les deux...  Comment tu distingues avec ou sans données ?

Si tu entre pas dans ton IF principal, AM2 ne changera jamais.
[ Lien ]



Cette discussion est classé dans : boucle, true, range, offset, mergecells


Répondre à ce message

Sujets en rapport avec ce message

probleme de boucle [ par albeil ] Bonjour, je n'arrive pas a sortir de la boucle suivante; le programme reste bloque sur les next l; une idee?Merci.Sub ASW()Dim c As VariantDim l As Va Simplification boucle if [ par treza88 ] Bonjour quelqu'un pourrait il m'aiguiller pour imbriquer et simplifier ces deux boucle si c'est possible: 'charge la hauteur du deuxième tiroirRange(" vba - formulaire [ par pitros ] Rép. vba excel -> vb = probleme ??? [ par lu6fer ] voila je suis en stage et mo projet etait une vba Excel mais pour des raison technique il me faut crée un executable en vb grace a l'aide de fanny c Problème de boucle 'Do While' avec l'objet 'Find' de Word et la fonction 'Execute' [ par jeffset ] Bonjour,je rencontre un problème sur l'exécution en boucle de l'objet Find dans Word via Excel.En effet, je souhaite utiliser Excel pour ouvrir une sé Boucle limité à 12 valeurs et fonction range + variable [ par arthrax ] Bonjour,Je dois faire un script VBA sous excel pour récupérer les champs des 12 derniers mois.J'ai commencer à faire un script où je récupère les dern Réparer une erreur d’exécution 1004 pour un collage spécial ??? [ par Jean2208 ] Bonjour à tous J'ai crée une macro qui va prendre des infos dans une feuille pour les coller dans une autre,  mon problème c'est au niveau du colla Aidez mois à réparer un copier-coller valeur!!!!!!!!! [ par Jean2208 ] Bonsoir à tous,j'ai un problème de copier-coller valeur sur une macro que je n'arrive pas a résoudre.A chaque fois que je lance la macro il me met un VBA - macro [ par Malliki ] Bonjour !!! Je suis actuellement entrain de faire une macro sur excel avec l'aide de Visual Basic. Le but de la macro est de colorier l'arrière-pla Insertion de donnée à partir d’un Userform dans un fichier excel [ par avyrex1926 ] Boujour à tous,Toujours en VBA sur mon projet,Dans mon Userform, quans je fait une recherche avec la valeur du ComboBox1, il m'affiche l'information d


Nos sponsors

Sondage...

CalendriCode

Décembre 2008
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
293031    

Consulter la suite du CalendriCode

Appels d'offres

Téléchargements

Logiciels à télécharger sur le même thème :



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel BAÏSE, 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
Temps d'éxécution de la page : 0,530 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.