Trouver les bonnes formules pour faciliter le travail

Bonjour,

je suis au stade de l'apprentissage concernant Excel.

Je maîtrise certaines choses mais je n'ai pas les habitudes d'utilisation nécessaires afin de faciliter mon travail.

Je vous joints mon classeur.

J'aimerais y ajouter plusieurs choses nommées dans mes feuilles en surbrillance jaune.

J'aimerais y apporter d'autres modifications dont je vous parlerai peut-être plus tard.

Je suis nouvelle sur le forum et je ne sais si j'ai été claire.

Je vous remercie d'avance pour toute l'aide que vous pourrez m'apporter dans tous les cas.

Voici mon dossier :

41classeur.xlsx (123.17 Ko)

Merci

Vanessa

Bonjour et bienvenue !

Le fichier est parti faire un détour !

Merci!

Cela veut dire?

Tu as remis ton classeur depuis mais il n'était pas accessible au départ !

Pour C7 Prélèvement, la formule est de ce type :

=INDEX(Tableau2[Code client];PETITE.VALEUR(SI(Tableau2[Prélèvement]="oui";LIGNE(Tableau2[Prélèvement]);"");LIGNE(1:1))-6)

Formule matricielle (à valider par Ctrl+Maj+Entrée)

Seulement pour que cela fonctionne il te faut commencer par défusionner les cellules concernées. Les cellules fusionnées n'acceptent pas les formules matricielles.

Les autres formules sont de même type, il te suffira donc de modifier les colonnes appelées...

La dernière question est imprécise. Où voit-on les facture réglés ? Que veut dire "toute la ligne vient là" ? Quelle ligne ? Elle disparaît de son emplacement d'origine ?

Ce serait donc en principe une proc. VBA à lancer par bouton... ?

Cordialement.

edit : la formule ci-dessus se recopie sur les lignes suivantes et est à mettre sous SIERREUR :

=SIERREUR(laformuleci-dessus;"")

de façon que lorsqu'il n'y a plus de valeur à afficher, elle n'affiche plus rien.

Merci pour votre réponse j'ai déjà pu compléter certaines feuilles.

En effet, j'aimerais que les lignes où l'onglet état est "réglée" aillent dans l'onglet factures réglées.

Vous pensez qu'un bouton VBA est la solution?

J'ai réussi à recopier et faire fonctionner la formule INDEX que vous m'avez transmis mais pouvez-vous me l'expliquer svp?

pour que je puisse apprendre?

Je vous remercie.

Vanessa

On soumet à la fonction PETITE.VALEUR une matrice composée (avec SI) des numéros de lignes là où il y a "oui" dans la col. Prélèvement et de "" là où pas oui. On définit le rang de la valeur demandée par LIGNE(1:1), qui renvoie 1 et s'incrémentera lors de la recopie sur les lignes suivantes. On diminue la ligne trouvée de 6 car les INDEX de lignes de la plage de valeurs à renvoyer commence à la ligne 7 (qui est donc : INDEX(plage;1)). Quand il n'y a plus de numéros de lignes à renvoyer, PETITE.VALEUR renverra une erreur, d'où la mise sous SIERREUR, qui permet d'étendre la formule au-delà des lignes actuellement renvoyées...

Je n'ai pas vu d'onglet Etat... ?

Merci beaucoup pour votre explication.

Pardon la colonne "etat" dans l'onglet RELANCES HG

Il y a 3 colonnes : 1Etat et 2Nouvel état. Je suppose que l'on considère les 3 ! Une fois réglé, ça reste réglé...

Donc lorsqu'on trouve 1 réglé, on tranfère la ligne dans Factures réglées (et on la fait disparaître de Relance HG).

Bonjour,

j'ai essayé de créer un bouton pour les factures réglées mais la macro que je créé ne prends en compte que la ligne que j'ai utilisé comme exemple et pas dès que l'état réglé est entré.

Pourriez-vous m'aider svp?

Ce que j'aimerais c'est que dès que l'état est "réglé":

" le code client, le libellé, le téléphone, le mail, les actions effectuées, retour, les actions en attente, le motif et l'état", scratch automatiquement dans l'onglet factures réglées.

Suis-je claire?

Je vous remercie.

Vanessa

Bonjour,

J'attendais une confirmation... Si ce n'est pas toute la ligne qu'on transfère, indique-moi les colonnes, ça m'avancera !

Je vous ai mis dans l'onglet factures réglées les colonnes que je souhaite faire apparître pour les relances HG et pour les relances G svp?

13classeur.xlsx (123.61 Ko)

Merci pour votre aide

Vanessa

Complément : Réglé étant écrit de façon hétérogène... on passe par la présence de l'expression "réglé" en ramenant le texte en minuscules, ce qui couvrira Réglé, Réglée, Réglées... mais également réglé en partie !

Si réglé en partie n'est pas réglé, il faut bannir l'usage du mot réglé dans toutes ses déclinaisons si ce n'est pas réglé !

Récapitulation !

On sert donc 10 colonnes, de A à J sur Factures réglées, qui vont accueillir :

  • en provenance de Relances HG : A B C D E G H I J S
  • en provenance de Ralances G : A B rien C rien D E F G N

(Dans Excel on a des moyens de désigner précisément les objets ! ne pas s'n priver ! )

Cela met un doute : qu'en est-t-il des colonnes Nouvel état (U et W sur Relances HG, P et R sur Relances G) ?

Est-ce qu'on les teste ou non ?

Et, encore une fois : les lignes qu'on inscrit sur Factures réglées sont-elles supprimées sur Relances HG et Relances G ?

ok

tout est en minuscule et j'ai enlevé les autres parasites!

Si tu répondais à TOUTES les questions !

désolé nous nous sommes écrits en même temps.

Alors vos questions font que je me questionne sur la pertinence de mon tableau.

Je l'ai donc modifié désolé!!

mais merci également car plus simple et pertinent. hihihi

Voici le classeur avec les colonnes modifiées :

9classeur.xlsx (112.62 Ko)

alors je souhaiterai que dans les relances HG, les colonnes : A B C E G H I J R S U figurent dans le tableau des factures réglées

et pour les relances G : A B C D E F G M N P svp!

Oui j'aimerais que les lignes soient automatiquement supprimées dès que je mets l'état "réglé" svp.

Merci encore pour votre aide.

Vanessa

OK !

Après manger maintenant, c'est l'heure !

Si réglé seulement, je teste sur égalité...

A+

Bon appétit!!!!

C'est ok pour "réglé" dans ce classeur:

11classeur.xlsx (112.51 Ko)

Encore un grand merci

Bon ap

Re,

Sub FacturesRéglées()
    Dim TFr(), ls(1), Frel, col, tst%, f%, j%, fr%, n&, i&
    col = Array(1, 2, 3, 5, 7, 8, 9, 10, 18, 19, 21)
    Frel = Split("Relances HG;Relances G", ";"): tst = 19
    For f = 0 To 1
        With Worksheets(Frel(f))
            n = .Cells(.Rows.Count, 1).End(xlUp).Row
            For i = 7 To n
                If LCase(.Cells(i, tst)) = "réglé" Then
                    ReDim Preserve TFr(10, fr)
                    For j = 0 To 10
                        TFr(j, fr) = .Cells(i, col(j)).Value2
                    Next j
                    ls(f) = ls(f) & ";" & i: fr = fr + 1
                End If
            Next i
        End With
        col = Array(1, 2, 50, 3, 4, 5, 6, 7, 13, 14, 16)
        tst = 14
    Next f
    Application.ScreenUpdating = False
    With Worksheets("Factures réglées")
        n = .Cells(.Rows.Count, 1).End(xlUp).Row + 1
        .Cells(n, 1).Resize(fr, 11).Value = WorksheetFunction.Transpose(TFr)
    End With
    For f = 0 To 1
        If ls(f) <> "" Then
            ls(f) = Split(ls(f), ";")
            With Worksheets(Frel(f))
                n = .Cells(.Rows.Count, 1).End(xlUp).Row
                For i = UBound(ls(f)) To 1 Step -1
                    .Rows(ls(f)(i)).Delete
                Next i
            End With
        End If
    Next f
End Sub

Affectée à un bouton sur la feuille Factures réglées.

Méthode utilisée : on constitue un tableau des lignes à transférer.

3 boucles imbriquées : boucle sur chacune des feuilles (Tableau des noms de feuilles, parcouru avec variable f)

sur chaque feuille boucle sur les lignes (parcours avec variable i) : on teste la colonne ad-hoc (numéro de colonne stocké dans variable tst, qu'on actualise en fin de 1er tour de f pour la seconde feuille)

sur les lignes réglées : on incrémente le tableau TFr (variable d'incrémentation fr), on parcourt les colonnes à prélever pour affecter leur valeur aux éléments d'une ligne du tableau (les numéros de colonnes sont consignés dans un tableau Col, parcouru en utilisant la variable j, Col est actualisé pour la seconde feuille en fin de 1er tour de f)

on recueille simultanément les numéros de lignes (en vue de leur suppression ultérieure) en les concaténant dans la variable tableau ls à 2 éléments (pour chacune des feuilles) (avec un séparateur)

2e partie : on affecte le tableau sur la feuille Factures réglées, 1re cellule vide en col. A redimensionnée à la taille du tableau...

3e partie : chaque élément du tableau ls est transformé en tableau pour suppression des lignes sur chaque feuille...

C'est là que je me suis rendu compte (erreur en voulant les supprimer globalement) que les tableaux de tes feuilles étaient des tableaux Excel. J'ai donc basculé sur la méthode classique de suppression à l'unité...

Toutefois , si l'exécution s'avère un peu lente, je reprendrai l'ensemble pour tout traiter à partir des tableaux Excel.

Cordialement.


Bonjour,

merci pour votre aide.

La macro marche parfaitement dans le tableau que vous m'avez transmis mais dès que je la copie et colle dans mon classeur avec toutes les infos, cela ne fonctionne pas.

Me message d'erreur dit ; impossible d'exécuter la macro.

Que dois-je faire pour que la macro fonctionne dans mon classeur svp??

Je vous remercie.

Vanessa

Rechercher des sujets similaires à "trouver bonnes formules faciliter travail"