Choix d'une Feuille en fonction d'une valeur dans cellule

Bonjour à vous,

Je suis nouveau dans le monde des macros et je n'arrive pas à trouver de réponses compréhensibles à mon problème :

Grosso modo :

Je reçois un PV de sondes de températures que j'envoies pour étalonnage. Je souhaites rentrer ces données dans la feuille Insérer (ici 2 sondes mais c'est un lot de 15 en général par PV, sachant que j'ai 8 PVs car 8 types de sondes différentes).

J'aimerai en cliquant sur un bouton que ces données soient enregistrées dans chaque "suivi de sonde" que j'ai créé.

Commençons par mon premier blocage, je reviendrais vous voir par la suite si besoin

Je n'arrive pas déjà à choisir la feuille (qui en l'occurrence est le type de Tc/Sonde ex : TUS 90300 / TUS 90500) en fonction de la colonne C6 de la feuille Insérer.

J'ai essayer le code suivant mais ça ne marche pas :

Sub test1()

'

' test1 Macro

'

Dim Typtc As String

Typtc = Cells(3, 6)

Sheets(Typtc).Select

End Sub

Il bugg sur Sheets(Typtc).Select

Voilà, si vous avez une réponse, je rappelle compréhensible, je suis preneur !

Merci à ceux qui prendront le temps de me répondre ....

22gestion-tc.xlsm (84.21 Ko)

Bonsoir et bienvenu(e)

Inverse le 3 et le 6

Il faut Cells(6, 3) : Ligne 6 colonne 3 (C)

Sub test1()
'
' test1 Macro
'
Dim Typtc As String
Typtc = Cells(6, 3)
Sheets(Typtc).Select
End Sub

Bonjour Tosh31 et Banzaï,

J'ai défusionné toutes les cellules que j'ai pu (interdiction formelle de fusionner des cellules compris!? ) et j'ai monté la macro suivante :

Sub test1()
    Dim i%, quoi As Long, trouve As Range
    i = 10
    While Feuil3.Range("b" & i) <> ""
        quoi = Feuil3.Range("b" & i)
        With Sheets(Feuil3.Range("c6").Value).Range("a16:az16")
            Set trouve = .Find(quoi, lookat:=xlWhole)
            If Not trouve Is Nothing Then
                Feuil3.Range("C" & i & ":q" & i).Copy trouve.End(xlDown).Offset(1, 0)
            End If
        End With
        i = i + 1
    Wend
End Sub

C'est la macro qui vous permet de copier vos informations dans les bonnes cases (ctrl + q pour la lancer).

Je reste ouvert si vous avez des questions...mais grosso modo, la macro cherche dans la feuille spécifiée en C6 le numéro du thermo couple (ça me rappel des souvenirs ça) en colonne b puis une fois qu'elle a trouvé le numéro de la sonde, elle se décale dans la première ligne vide et colle les informations...

Bonjour Banzaï et Force rouge ( j'aime bien, ça me rappelle de bons souvenirs ... )

Banzaï, pour info, j'avais un doute sur ma tournure donc j'avais mis l'autre typtc dans l'autre case et ça ne marchais pas quand même...

Force rouge (c'est tripant d'écrire cela) comment dirège, MERCI

Bon je viens de passer 2h à essayer de comprendre ( ça peut me servir pour plus tard) et j'en ai déduis :

Sub test1()
' définition des variantes : i comme Nombre entier, quoi comme Nombre entier énorme, trouve comme plage de cellule
    Dim i%, quoi As Long, trouve As Range
' définition de constante i=10
    i = 10
' Définition de la boucle : Tant que la colonne b de la feuille 3 et de ligne 10 n'est pas vide
    While Feuil3.Range("b" & i) <> ""
' quoi = à la valeur trouvée ci dessus (valeur du TC)
        quoi = Feuil3.Range("b" & i)
' avec feuille (nommée par la valeur de la case C6 et les cases de a16 à az16
        With Sheets(Feuil3.Range("c6").Value).Range("a16:az16")
' défini la varible trouve : recherche variable quoi, la valeur de la variable quoi exactement
            Set trouve = .Find(quoi, lookat:=xlWhole)
'S'il trouve la variable (quoi) dans la variable "trouve"
            If Not trouve Is Nothing Then
'Alors copie la plage Cvariable i à Qvariable i dans la plage de la variable trouve ( à la dernière case pleine +1 (donc première vide))
                Feuil3.Range("C" & i & ":q" & i).Copy trouve.End(xlDown).Offset(1, 0)
'Fin de la condition si
            End If
'Fin de la condition avec
        End With
'Incrémente la variable i de 1 ( donc repart pour une boucle i+1 )
        i = i + 1
'Fin de la boucle (si condition du début de la boucle n'est pas trouvé (plus de TC dans colonne B)
    Wend
End Sub

Peux-tu me confirmer si grosso modo j'ai raison, enfin pas tord déjà ?, car je vais maintenant l'appliquer à mon fichier ou il y a beaucoup plus de feuilles et de Thermocouples (j'espère que c'est de bons souvenirs pour toi ! )

Question subsidiaire car t'as l'air dit tater grave :

Est t'il possible de créer un bouton "mise à jour" qui me changerai mes fonctions recherche ( car je ne pense pas qu'on puisse définir une variable XXXX dans la fonction ; =rechercheV(A1;'C:\Chemin répertoire\[XXXX.xslm]Base'!$A$5:$D$20;2;faux) Sachant que XXXX est une valeur de cellule

Désolé, j'ai pas le fichier sous la main.

Merci encore pour votre aide, vous m'avez déjà bien dépanné

Des souvenirs oui...Un four de brasage rétrofité à l'arrache avec 3TC de contrôle (bien entendu 3TC donc 3 offset...) un eutectique à atteindre de façon homogène avec deux grosses zones froides dans le four et une seule résistance de chauffe. Un an de déprime...

Pour ton analyse de la macro c'est à 99,99% vrai sauf ça où tu écris :

'S'il trouve la variable (quoi) dans la variable "trouve"

en faite c'est : s'il trouve la variable quoi, il range dans trouve l'adresse de la cellule trouvée.

Pour ton autre question, oui c'est tout à fait possible, c'est pas mon fort se genre de manip donc je ne vais pas te sauver sur ce coup là et tu devrais ouvrir un post juste pour ça (comme ça tu auras plus de visibilité)

Merci pour ton aide.

Oui galère le réglage de fours, surtout avec une seule zone de chauffe, pour peut que t'es pas de variateur de turbine .....

Encore un grand merci, bonne continuation

J'suis plus dans la boite mais on remplis nos objectif (rendement de 95%) Bon en se qui concerne ici, si tu peux clôturer se fil en le marquant comme résolu et en ouvrant un deuxième sujet pour le deuxième problème, tu auras une réponse assez rapidement car c'est quelque chose d'assez courant

Rechercher des sujets similaires à "choix feuille fonction valeur"