Formules Index

toune21

XLDnaute Impliqué
Bonjour à tous,

J'ai créer un formulaire récep télé, pour des personnes qui vont poser des questions, je dois selectionner une thématique suvant la question et aller rechercher dans une feuille les personnes suceptible de répondre.
Je dois mettre cette question dans une feuille appels reçu j'ai 72 h pour lui répondre ou lui donner les coordonnées des personnes concernées.
Après les 72 heures je dois archiver dans une autre feuille demande traitées.
J'ai essayé, EQUIV, DECALER INDEX,
Je suis perdue
Si qq à des idées
Je l'ai remercie
MM
CI-joint fichier faut regarder dans toutes mes feuilles Merci MM
 
Dernière édition:

Brigitte

XLDnaute Barbatruc
Re : Formules Index validation données

Re,

Euh tu as pas oublié un mot ????

J'ai bien quand je suis en première sur le forum

Ce serait pas : j'aime bien ?

Et moi, j'ai une chance inouie, un gentil xldien qui a bien voulu m'initier à la construction de A à Z d'un usf, depuis le temps que j'en rêvais... Sais pas si il aura la patience (devant ma belle ignorance) d'aller loin, mais je le remercie déjà d'avance de ce qu'il a fait... Il se reconnaîtra... Je dis rien, car je voudrais pas qu'on me pique mon prof.

D'ailleurs, l'évocation des mers du sud, c'est pas pour rien, vu l'avatar... hihi... Enigme !

On en a de la chance ici !!


Edit le 14/07 :


Sais pas si il aura la patience (devant ma belle ignorance) d'aller loin, mais je le remercie déjà d'avance de ce qu'il a fait... Il se reconnaîtra... Je dis rien, car je voudrais pas qu'on me pique mon prof.

Euh finalement, démission de mon prof, on le comprend, mon niveau est pas encourageant... M'étais réjouie un peu vite, je crois tjs au père Noël, moi, pas glop !!
 
Dernière édition:

Monique

Nous a quitté
Repose en paix
Re : Formules Index validation données

Re,

Decaler(Prim ; un peu vers le bas ; un peu vers la droite)
"Un peu" calculé par Equiv()

Tout est dans le fichier
 

Pièces jointes

  • ListeValidToune21V2.zip
    14.5 KB · Affichages: 48
  • ListeValidToune21V2.zip
    14.5 KB · Affichages: 41
  • ListeValidToune21V2.zip
    14.5 KB · Affichages: 43

toune21

XLDnaute Impliqué
Re : Formules Index validation données

Re Monique,
OK pour moi.
Je vais essayer de faire un bouton pour transposer 'recp tel' dans mon tableau données reçues.
Merci de m'avoir aidée. J'aurai peut-être encore besoin de vous. Je pourrai ?
 

toune21

XLDnaute Impliqué
Re : Formules Index validation données

re

Je viens de faire une macro regarde. Si tu as plus simple !!! je prends
J'ai voulu vider les 4 premieres ligne, mais ça m'efface la formule (+72h)
Il faudrait aussi que je puisse incrémenter le n° de la demande, si 1 dans la demande reçue, dans recpt tel N° 2 et ainsi de suite.
La j'ai un trou
Je ne te dirai jamais assez merci
c'est ton fichier (modif avec la macro)
 

Pièces jointes

  • ListeValidToune21V2.zip
    21.8 KB · Affichages: 36
  • ListeValidToune21V2.zip
    21.8 KB · Affichages: 35
  • ListeValidToune21V2.zip
    21.8 KB · Affichages: 39

JNP

XLDnaute Barbatruc
Re : Formules Index

Bonjour le fil :),
Brigitte m'a demandé d'y jetter un coup d'oeil.
Voici un début de code mais je rencontre des difficultés entre les plages nommées et les Décaler qui ne semblent pas compatibles avec mon VBA, surtout en transposition. J'essaierai de regarder demain, mais sans promesse.
Code:
Dim I As Integer ' I va servir de compteur pour déterminer la première ligne vierge
I = 2
While Sheets("donnees recue").Cells(I, 1) <> "" ' Tant que A en ligne I n'est pas vide
I = I + 1 ' J'incrémente I
Wend ' Je sors et peux utiliser la valeur de I
Sheets("recept tel").Copy Before:=Sheets(1)
Sheets("recept tel (2)").Range("C3:C31").Copy
Sheets("recept tel (2)").Range("C3:C31").PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
Sheets("recept tel (2)").Range("C3:C31").Copy
Sheets("donnees recue").Cells(I, 1).PasteSpecial Paste:=xlPasteAll, _
Operation:=xlNone, SkipBlanks:=False, Transpose:=True ' I me permet de choisir la bonne ligne de copie
Application.CutCopyMode = False
Sheets("recept tel (2)").Delete
Dim Cellule As Range
For Each Cellule In Sheets("recept tel").Range("C7:C31")
If Left(Cellule, 1) <> "=" Then
Cellule.ClearContents
End If
Next
Sheets("recept tel").Range("C3").Select
Bonne soirée, et bon courage :cool:
 

toune21

XLDnaute Impliqué
Re : Formules Index

Bonjour JNP,
Effectivement cela efface les formules dans les spécialiste et les MFC, mais j'en ai besoin. c'est ce qu'ils veulent.
Il faut juste incrémenter le N° de demande je ne sais pas faire.
Et pour savoir la dernière ligne vide de demande reçue.
Merci,
 

JNP

XLDnaute Barbatruc
Re : Formules Index

Re :),
J'ai retravaillé mon code mais rien n'y fait, je n'arrive pas à récupérer la valeur du décaler pour les mettre dans la transposition. La première ligne marche, et les suivantes arrivent en #N/A :eek:...
Teste ce code, tu comprendras ce que je veux dire...
Code:
Dim I As Integer ' I va servir de compteur pour déterminer la première ligne vierge
I = 2
While Sheets("donnees recue").Cells(I, 1) <> "" ' Tant que A en ligne I n'est pas vide
I = I + 1 ' J'incrémente I
Wend ' Je sors et peux utiliser la valeur de I
Sheets("recept tel").Range("C3:C31").Copy
Sheets("donnees recue").Cells(I, 1).PasteSpecial Paste:=xlPasteAll, _
Operation:=xlNone, SkipBlanks:=False, Transpose:=True ' I me permet de choisir la bonne ligne de copie
Application.CutCopyMode = False
Dim Cellule As Range
For Each Cellule In Sheets("recept tel").Range("C3:C31")
If Left(Cellule.Formula, 1) <> "=" Then
Cellule.ClearContents
Else
'Sheets("donnees recue").Cells(I, Cellule.Row - 2) = Cellule.Value
End If
Next
Sheets("recept tel").Range("C3").Select
End Sub
Par contre, je n'efface plus tes cellules de calculs.
Par contre, pour incrémenter ton N° de demande, sur quelle action (quel changement de cellule par exemple) veux-tu te baser ?
A + :cool:
 

JeanMarie

XLDnaute Barbatruc
Re : Formules Index

Bonsoir tout le monde

En testant le code de Jean Noël, sur des références de cellules Absolues, Excel par le transposer ne modifie pas la référence de la cellule absolue dans la formule copiée.

Il suffirait de modifier dans la formule de la feuille Recept tel en C20 par
Code:
=SI(C19="";"";DECALER(Prim;EQUIV(C19;Nom;0);EQUIV('donnees recue'!$R$2;Horiz;0)-1))
ou
Code:
=SI(C19="";"";DECALER(Prim;EQUIV(C19;Nom;0);EQUIV('recept tel'!$B$20;Horiz;0)-1))
Si cela peut faire avancer le chimibilik...

@+Jean-Marie
 

JNP

XLDnaute Barbatruc
Re : Formules Index

Bonjour Jean-Marie :),
J'ai testé, mais les références sont transposées sur une autre feuille, donc ça ne marche pas :eek:... Mais je ne comprends pas pourquoi je n'arrive pas à récupérer le résultat du DECALER, même en passant par une variable, conversion de texte, evaluate, j'en passe et des meilleures...
Finalement, une solution possible, mais je n'ai pas le temps de la tester ce matin, ce serait de faire un copier/coller spécial de valeur sur la feuille de départ, copier les données en transposé, puis réécrire les formules dans les cellules via VBA...
J'essayerai de m'y atteler ce soir.
Bonne journée :cool:
 

toune21

XLDnaute Impliqué
Re : Formules Index

Bonjour JNP, JM,

Pour l'instant ça marche comme je veux (je n'aime pas utiliser le je) mais obligée..
Est ce que c'est les 3 lignes suivantes qui efface ?
For Each Cellule In Sheets("recept tel").Range("C3:C31")
If Left(Cellule.Formula, 1) <> "=" Then
Cellule.ClearContents
Parce que je vais effacer que les lignes 8 à 16 j'ai modifié un peu mon tableau.
Ta macro est en module 3
ci-joint la version 3
Merci à tous les
 

Pièces jointes

  • ListeValidToune21V3.zip
    29.6 KB · Affichages: 32

JeanMarie

XLDnaute Barbatruc
Re : Formules Index

Re...

Jean-Noël tu laisses supposer que de mettre la référence en absolue en indiquant le nom de la feuille, ne fonctionne pas. Le fait de modifier la formule comme indiquée supprime bien l'erreur #N/A, que cette solution ne te plaise pas dans la manière de résoudre le problème du transposer, c'est normal, elle ne me plait pas non plus, "on utilise une porte dérobée pour entrer".
Concernant le code, la proposition ci-jointe sera peut-être plus compréhensible à Marie-Madeleine.
Code:
Sub trans()
Dim I As Long [COLOR="green"]' I va recevoir le n° de la ligne (row) ne contenant aucune valeur[/COLOR]
Dim SavDemande As Long [COLOR="green"]' Mémoire du n° de la demande[/COLOR]
SavDemande = Worksheets("recept tel").Range("C6")
I = Worksheets("donnees recue").Range("A65536").End(xlUp).Row + 1
[COLOR="green"]'La plage C3:C31 de la feuille "Recep tel" est copier dans le presse-papier[/COLOR]
Sheets("recept tel").Range("C3:C31").Copy
[COLOR="green"]'le contenu du presse-papier est copié sur la la feuille "Données recue"
' et à l'intersection de la valeur de la ligne "I" et de la colonne 1 ("A")
'avec l'option de transposition[/COLOR]
Sheets("donnees recue").Cells(I, 1).PasteSpecial Paste:=xlPasteAll, _
   Operation:=xlNone, SkipBlanks:=False, Transpose:=True 
[COLOR="green"]Dans la plage de cellule C3:C31 de la cellule "Recept tel"
'on "atteindre les cellules" ne contenant que des constantes (données saisie),
'par l'instruction SpecialCells(xlCellTypeConstants, 23)
'on efface le contenu des cellules par l'instruction ClearContents[/COLOR]
Worksheets("recept tel").Range("C3:C31").SpecialCells(xlCellTypeConstants, 23).ClearContents
[COLOR="green"]'on affecte le N° de la nouvelle demande[/COLOR]
Worksheets("recept tel").Range("C6") = SavDemande + 1
[COLOR="Green"]'on sélectionne la cellule C3 de la feuille "Recept tel"[/COLOR]
Worksheets("recept tel").Range("C3").Select
End Sub
@+Jean-Marie
 
Dernière édition:

Discussions similaires

Réponses
7
Affichages
524

Statistiques des forums

Discussions
312 199
Messages
2 086 158
Membres
103 139
dernier inscrit
Bidi