Recherche titre

Bonjour,

j'ai un tableau qui contient plusieur valeur et j'ai creé une macro qui renvoi les valeur qui m'interesse dans une ligne ( la ligne 434)
j'ai créeé un fichier standard ou un tableau vide dans la ligne 434 est deja preparé à recevoir des valeur quand j'applique ma macro.
Le probleme c'est que il suffit que quelqu'un ajoute une ligne ( car je suis pas le seul à utiliser le fichier) et ma macro n'enverra plus les valeurs à la ligne voulu...

Je souhaite savoir s'il y'a une solution à ce problème

Merci d'avance
Messin57000

3 réponses

  1. Bonjour,

    La ligne 434 (actuellement) a-t-elle quelque chose de particulier ?
    (Exemple : toutes les lignes suivantes sont vides)

    A+
    1. Bonjour Zoul67,

      j'arrive pas justement à trouver une particularité à cette ligne , j'ai un petit calcul de vérification et quelques graphes après la ligne...

      Voici un fichier de travail:

      http://cjoint.com/13sp/CIyn1lIMN1T.htm

      Merci Zoul67

      A+
      1. Ah oui, les pompes...
        Je te conseille de nommer la cellule E434, par ex. "cellref"
        Range("cellref").Row
        permet de récupérer la bonne ligne même en cas d'ajout/suppression de lignes au-dessus de la ligne 434. Bon, tu n'es pas à l'abri de la suppression du nom de la cellule...
      2. j'ai essayé la même écriture Range("cellref").Row je recoi un message d'erreur "utilisation incorecte de la propriété" ... mais c'est vrai que nommer une cellule et la definir comme reference pour la ligne c'est une bonne idée j'avais pas pensé à ca
      3. L'as-tu utilisé dans un bon contexte ?
        Essaie

        Sub essai()
        MsgBox Range("cellref").Row
        End Sub
      4. ca m'envoi un msg 434, il te dit que la ligne 434 est fixe... mais je vois pas en fait la différence car quand j'ajoute une ligne avant la cellule E434 devient E435 et donc c'est plus la cellule de ref, si?
      5. Le message est correct.
        La cellule de référence devient alors E435 et tu peux te fier à sa ligne pour compléter ton tableau (si tu ré-exécutes la macro "essai", ça renverra 435, qui est bien la ligne à compléter).
    2. le remplacement pas dans la cellule cells(434, colonne_form_100)
      C'est plutôt les arguments What et Replacement qui posent problème

      le module 3 je sais pas vraiment mais c'est le set graphique
      Pas du tout, le module 3 contient une macro "copier-coller" qui doit être du code mort qui pollue le fichier, tout comme les x lignes de code commenté, des nombres qui errent dans le tableau,...

      Bon, tu as récupéré le fichier de quelqu'un et tu n'es pas un crack en Excel, mais pense à avoir un fichier le plus simple possible, lisible, etc.

      Macros à part, un format comme celui-ci me semble tout de même plus approprié : https://www.cjoint.com/?CIAjZ3LbjO2 .
      Je ne sais pas à quoi correspondent les graphiques, j'espère que tu le sais (en tous cas, certains sont liés à des données d'autres fichiers).

      A+
      1. j'ai fait une petite recherche sur d'autre forum et j'ai vu que je peut utiliser d'autre moyen pour regler ce probleme c'est de passer par une variable intermédiaire (ici "Recherche") qui va ressortir la 1ère cellule trouvée avec les critères demandés.

        Dim Recherche As Variant
        Dim ColFind As Long
        With Application.FindFormat.Interior
        .Pattern = xlGray8
        .PatternColorIndex = xlAutomatic
        .Color = 13434828
        .TintAndShade = 0
        .PatternTintAndShade = 0
        End With
        Set Recherche = Sheets("Onglet").Cells.Find(What:="ValeurAChercher", LookIn:=xlFormulas, LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:=False, SearchFormat:=True)
        ColFind = Recherche.Column

        en utilisant peut etre la mise en forme de la cellule , la couleur ou autres...
        peut être ca serai une idée à exploiter...

        http://cjoint.com/13sp/CIzoLDDxG6Q.htm

        je suis obligé de travailler sur le fichier standard car je peut pas simplifier en supprimant les tableau de vitesse alor que moi ma ligne 434 est incrementer des ligne 41+vitesse*43 et puis j'ai besoin que la ligne 434 soit à l'horizontale pour mes fichiers finale et non la présentation à la verticale... il y'a beaucoup de contrainte c'est pour ca je dois travailler sur le fichier joint.

        Merci

        A+
      2. plus de reponse...?
      3. Nettoie la feuillle de ses parasites (nombres bizarres, barres colorées)
        Supprime le code VBA inutile.
        Nomme les plages où se trouvent les données (le copier-coller sera facilité) ; je parle bien de plage nommé, pas de cellules où on met du texte.
        TU partiras ainsi d'une base saine, parce qu'actuellement...

        A+