|
|
|
|
jefe.k, le mardi 13 février 2007 à 14:14:59Configuration: Windows XP Firefox 2.0.0.1
On dirait que tu veux juste faire un tri ! dans ce cas, trie suivant le critère que tu veux avant de te préoccuper du calcul, t'auras déjà un bout de fait...
|
Bonsoir,
en formule matricielle dans ta feuille RECAP : A1=SI(ESTERREUR(INDEX(Feuil1!$A$1:$A$10000;PETITE.VALEUR(SI(Feuil1!$A$1:$A$10000<>"";LIGNE(Feuil1!$A$1:$A$10000));LIGNE())));"";INDEX(Feuil1!$A$1:$A$10000;PETITE.VALEUR(SI(Feuil1!$A$1:$A$10000<>"";LIGNE(Feuil1!$A$1:$A$10000));LIGNE())))à recopier vers le bas aussi loin que nécessaire. cordialement
|
Bonjour,
cette formule fonctionne très bien et pas seulement sur la première ligne. as-tu intégré que c'est une formule matricielle? A+
|
Re,
en fait j'ai trouvé pour intégrer le fait qu'il s'agisse d'une formule matricielle... maintenant cela marche effectivement, mais les cellules vides affiche la valeur O comment faire pour les cacher ? et cette formulle peut elles s'étendre sur plusieurs colonnes ? |
Bonjour,
curieux ces zéros. pas de zéros chez moi!!! d'autant plus que j'ai surchargé la formule afin qu'elle affiche "" si plus de données. pour afficher la colonne B (si en A il y a une donnée ): =SI(ESTERREUR(INDEX(Feuil1!$A$1:$A$10000;PETITE.VALEUR(SI(Feuil1!$A$1:$A$10000<>"";LIGNE(Feuil1!$A$1:$A$10000));LIGNE())));"";INDEX(Feuil1!$B$1:$B$10000;PETITE.VALEUR(SI(Feuil1!$A$1:$A$10000<>"";LIGNE(Feuil1!$A$1:$A$10000));LIGNE())))si les zéros ne partent pas, envoie le fichier (sur cjoint.com par exemple) A+ PS : attention au fait que les formules matricielles sont lourdes et coûteuse en temps de calcul. si tu as beaucoup de cellules dans ta feuille, il faudra sans doute envisager d'autres solutions
|
Re,
tu sélectionnes A1:Q1 par exemple et tu saisis =SI(ESTERREUR(INDEX('Phase 1'!$A$1:$A$10000;PETITE.VALEUR(SI('Phase 1'!$A$1:$A$10000<>"";LIGNE('Phase 1'!$A$1:$A$10000));LIGNE())));"";INDEX('Phase 1'!$A$1:$Q$10000;PETITE.VALEUR(SI('Phase 1'!$A$1:$A$10000<>"";LIGNE('Phase 1'!$A$1:$A$10000));LIGNE());COLONNE())&"") en matriciel (on pourrait dire double matricielle puisque à la fois le calcul et la restitution sont en matriciel) j'ai mis en gras ce que j'ai modifié A+
|
Bonjour,
la formule marche-t-elle ou a-t-elle l'air de marcher? combien de lignes/colonnes veux-tu traiter? quels temps de réponse as-tu? (en secondes par ex) il est possible de commencer à la ligne 6 en changeant les $A$1 à l'intérieur des PETITE.VALEUR( ) par $A$6 il est possible(probable) que du code VBA soit plus performant, il faudrait essayer. d'après ton 1er post, tu n'as pas besoin de mettre à jour la feuille archive en temps réel. Dans ce cas, tu passes en mode recalcul manuel et tu ne lances une mise à jour de la feuille archive qu'avec un recalcul (via la touche F9) tu limites ainsi la lourdeur des formules matricielles aux recalculs que tu lances. A+
|
Bonjour,
bizarre, chez moi ça prend 1 seconde, ce qui est quand même gênant et modérément acceptable. pour ce qui est de VBA, essaye ce code : Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 1 And Target.Row > 5 And Target.Row < 106 Then
j = 1
For i = 6 To 105
If Range("A" & i).Value <> "" Then
Range("A" & i & ":CV" & i).Copy Destination:=Worksheets("archive").Range("a" & j)
j = j + 1
End If
Next
Application.CutCopyMode = False
End If
End Subc'est une macro évènementielle à mettre donc derrière la "feuil1" (celle de la saisie).
pour accéder à VBA directement derrière la "feuil1", fais un "clic droit/visualiser le code" sur l'onglet de la "feuil1". ensuite, tu colles le code ci-dessus je l'ai limité aux lignes 6 à 105 et aux colonnes Aà CV pour correspondre à tes 100 lignes x 100 colonnes A+
|
Re,
il faut laisser le ":" dans le range. ta feuille "récap", je l'ai appelée "archive" dans la macro. modifie le nom il serait bon de rajouter la ligne : Worksheets("archive").Rows("" & j & ":" & Worksheets("archive").Range("A65536").End(xlUp).Row & "").ClearContents juste après le NEXT pour gérer l'effacement des lignes devenues inutiles dans archive/récap A+ PS : as-tu fais un copier/coller du code ? ou l'as-tu recopié? la largeur de l'écran introduit des retours à la ligne qui n'ont pas lieu d'être et qu'un copier/coller remet dans l'ordre
|
bonjour,
oui, c'est ce qu'il faut faire. envoie ton fichier sur cjoint.com que je regarde. ça doit être un truc tout bête. A+
|
| 05/01 18h57 | Sed - Supprimer une ou plusieurs lignes d'un fichier | Sed |
| 03/03 15h50 | [Bash] Afficher un fichier sans les lignes de commentaires | Bash |
| 05/06 15h44 | Sed - Trucs et astuces | Sed |
| 03/01 11h39 | Les fonctions Ligne, Lignes, Colonne, Colonnes | Excel |
| 29/12 20h42 | Guide d'utilisation du Shell pour débutant | Shell |
| 23/11 12h34 | VBA excel insérer une ligne vide | 1 |
| 20/11 10h40 | [Excel]VBA pour supprimer des lignes vides | 1 |
| 02/07 12h28 | VBA recherche derniere ligne vide | 6 |
| 09/09 01h25 | [php] Ajouter une ligne vide à un tableau | 4 |
![]() | PSP Video 9 - PSP Video 9 est un outil de conversion gratuit permettant de convertir des fichiers vidéo (avi, divx, mpeg, etc.) au formats... | Catégorie: Edition vidéo Licence: Freeware/gratuit |
![]() | MTV Video Converter - Le programme MTV Video Converter est un convertisseur vidéo vers le format MTV acceptant les formats d'entrée suivants : ... | Catégorie: Conversion Licence: Freeware/gratuit |
![]() | WinAVI Video Capture - WinAVI Video Capture peut capturer vos films en provenance de périphériques AV comme un magnétoscope, un camescope ou une... | Catégorie: Edition vidéo Licence: Freeware/gratuit |
![]() | PS3 Video 9 - PS3 Video 9 est un outil de conversion gratuit permettant de convertir des fichiers vidéo (avi, divx, mpeg, etc.) au formats... | Catégorie: Edition vidéo Licence: Freeware/gratuit |
![]() | Superman Returns: The Videogame | Catégorie: Jeu vidéo Gameboy Advance | 5.00 € Micromania |
![]() | LEGO Indiana Jones: The | Catégorie: Jeu vidéo PS2 | 35.47 € Amazon.fr |
![]() | LEGO Indiana Jones: The | Catégorie: Jeu vidéo Nintendo DS | 35.47 € Amazon.fr |
![]() | Superman Returns: The Videogame | Catégorie: Jeu vidéo Nintendo DS | 15.39 € PriceMinister |