Recherche et classement

Résolu
ahmed.bouchemla Messages postés 27 Statut Membre -  
ahmed.bouchemla Messages postés 27 Statut Membre -
Bonjour,

Bonjour,

j'ai un tableau excel dont le résultat sur une colonne (B) dépend de 4 lignes successives de la colonne A, donc sur ma colonne B j ai un chiffre puis 3 case vides puis un autres chiffres et 3 cases vide .....
comment faire pour que dans la colonne C tous les résultats de B soit afficher de manière successive sans les vides bien sure.
voir l’exemple sur le fichier joint.
merci beaucoup


8 réponses

  1. ccm81 Messages postés 11033 Statut Membre 2 434
     
    Bonjour

    Sans le fichier, difficile de te répondre
    Une tentative quand même
    http://www.cjoint.com/c/FAkrxIzQBck

    Cdlmnt
    0
    1. ahmed.bouchemla Messages postés 27 Statut Membre
       
      comment le joindre???
      0
      1. Raymond PENTIER Messages postés 58213 Date d'inscription   Statut Contributeur Dernière intervention   17 481 > ahmed.bouchemla Messages postés 27 Statut Membre
         
         1) Tu vas dans https://www.cjoint.com/ 
        2) Tu cliques sur [Parcourir] pour sélectionner ton fichier (8192 Ko maxi)
        3) Tu défiles vers le bas pour cliquer sur le bouton bleu [Créer le lien Cjoint]
        4) Au bout de quelques secondes la deuxième page s'affiche, avec le lien en gras ; tu le sélectionnes et tu fais "Copier"
        5) Tu reviens dans ta discussion sur CCM, et dans ton message de réponse tu fais "Coller".
        =>Voir la fiche https://www.commentcamarche.net/faq/29493-utiliser-cjoint-pour-heberger-des-fichiers
        0
  2. ccm81 Messages postés 11033 Statut Membre 2 434
     
    Bonjour

    C'est ce que que fait l'exemple que je t'ai envoyé non ?
    Pour la formule en colonne B il te suffisait de remplacer SOMME par MOYENNE
    http://www.cjoint.com/c/FAmsXKZGQqI

    Cdlmnt
    0
    1. ahmed.bouchemla Messages postés 27 Statut Membre
       
      Merci bcp CCM;
      maintenant j'ai une autre question,
      j'ai un ensemble d’opération sur une feuille A, comment faire pour stocker les résultats des ces opération dans une feuille B, sachant qu'ils doivent être classer et enregistré et que lorsque j'efface dans la feuille A, les résultats enregistrés dans la feuille B reste (CAD que j ai pas a utiliser juste une fonction (dans feuille B) du genre =feuille!A10 par exemple)
      Cordialement
      0
  3. ccm81 Messages postés 11033 Statut Membre 2 434
     
    Bonjour

    Il va falloir passer par une macro, est ce que ça te convient ?

    Cdlmnt
    0
    1. ahmed.bouchemla Messages postés 27 Statut Membre
       
      Bonjour, oui parfaitement!......j ai déjà pensais, mon unique souci c'est comment intégré le fait de ne pas écraser les cellules déjà pleine dans la nouvelle feuille.
      merci bcp
      Cordialement
      0
  4. ccm81 Messages postés 11033 Statut Membre 2 434
     
    Bonjour

    Si tu as déjà programmé en vba, l'accès à la première ligne vide de la colonne A de la feuille F
    li = Sheets("F").Range("A" & Rows.Count).End(xlUp).Row+1
    où il te suffira d'y copier la valeur

    Pour plus de détails, utilises cjoint.com (voir plus haut le message de Raymond) pour envoyer un bout de fichier avec des explications et des exemples de résultats attendus

    Cdlmnt
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. ccm81 Messages postés 11033 Statut Membre 2 434
     
    Je ne sais pas si j'ai bien compris
    La macro transfère la plage B8:Fxx de la feuille données à partir de la première cellule vide de la colonne 1 de la feuille compilation

    '  constantes à modifier selon ta config
    Const FD = "Données"
    Const lidebFD = 8
    Const codebFD = 2
    Const cofinFD = 6

    Const FC = "compilation"
    Const codebFC = 2

    Public Sub transfert()
    Dim lifinFD As Long, plageFD As Range
    Dim liFC As Long
    With Sheets(FD)
    lifinFD = .Cells(Rows.Count, codebFD).End(xlUp).Row
    Set plageFD = .Range(.Cells(lidebFD, codebFD), .Cells(lifinFD, cofinFD))
    End With
    liFC = Sheets(FC).Cells(Rows.Count, codebFC).End(xlUp).Row + 1
    plageFD.Copy Sheets(FC).Cells(liFC, codebFC)
    End Sub

    Cdlmnt
    0
    1. ahmed.bouchemla Messages postés 27 Statut Membre
       
      j ai pas compris ces constantes représente quoi exactement?
      0
    2. ahmed.bouchemla Messages postés 27 Statut Membre
       
      m affiche une erreur, debug
      With Sheets(FD)
      ????
      0
  7. ccm81 Messages postés 11033 Statut Membre 2 434
     
    1. j ai pas compris ces constantes représente quoi exactement?
    '  constantes à modifier selon ta config
    Const FD = "Données" ' nom de la feuille Données
    Const lidebFD = 8 ' première ligne à transferer
    Const codebFD = 2 ' première colonne à transférer
    Const cofinFD = 6 ' dernière colonne à transférer

    Const FC = "compilation" ' nom de la feuille compilation
    Const codebFC = 2 ' colonne où on collera la copie

    2. m affiche une erreur, debug
    With Sheets(FD)

    ça vient certainement du fait que tu n'as pas attribué de valeur à la constante FD (qui doit avoir comme valeur le nom de la feuille Données
    0
    1. ahmed.bouchemla Messages postés 27 Statut Membre
       
      Merci bcp, ca marche
      Bonne soirée
      0
  8. ccm81 Messages postés 11033 Statut Membre 2 434
     
    De rien,

    Si c'est fini, peux tu mettre le sujet à résolu (en dessous du titre de ton premier message)

    Cdlmnt
    0
    1. ahmed.bouchemla Messages postés 27 Statut Membre
       
      , presque fini, il me reste juste une tous petit souci, alors tous marche super bien avec la solution que vous m avais proposer, le seul bleme est qu'il me copie toute la cellule ( la formule) et du coup la valeur afficher est erronée, comment peut ton faire une action de copie et collage spéciale ou je précise que je veux sauvegarder juste la valeur afficher dans ma cellules.
      merci d avance
      0
  9. ccm81 Messages postés 11033 Statut Membre 2 434
     
    Dans ton fichier, il n'y avait pas de formule
    Pour ne copier qu'en valeur, tu modifies la fin du code comme ceci

    liFC = Sheets(FC).Cells(Rows.Count, codebFC).End(xlUp).Row + 1
    plageFD.Copy
    Sheets(FC).Cells(liFC, codebFC).PasteSpecial Paste:=xlPasteValues
    End Sub

    Cdlmnt
    0
    1. ahmed.bouchemla Messages postés 27 Statut Membre
       
      Merci bcp
      Cordialemnt
      0
    2. ahmed.bouchemla Messages postés 27 Statut Membre
       
      Bonjour
      j'ai encore deux questions pour vous CCm,
      alors la première concerne le renvoi:
      comment je peut programmer un renvoi depuis une cellule dans une colonne D vers une cellules dans une colonne B sachant que ce renvoi doit se faire automatiquement suivant la valeur de la cellule sur la quel je vient de clicér dans la colonne D. (exemple supposant que la cellule D10 affiche la valeur 15, le but est que si je clic sur D10, le programme me renvoi automatiquement vers tous les 15 contenus dans la colonne B).

      la deuxième question concerne le trie de donnée mais suivant une sequence, imaginons que j ai une série de valeurs enregistré selon une sequence (exemple dans une colonne C j'ai C1=5,C2=4,C3=1 et C4=2, donc ma sequence de trie est 5 4 1 2), mon trie doit se faire suivant cette sequence sur toutes les colonnes et lignes bien sure, et après ne garder que les deux dernières sequence complète de chaque série composée d une répétition de n fois de cette sequence. (voir fichier exemple)
      https://www.cjoint.com/c/FAuqAF5PD2J

      Merci bcp
      Cordialement
      0