Problème MsgBox + RechercheV

Bonjour,

Je souhaiterai créer un fichier excel pour alimenter automatiquement un cerfa. fluide frigo.

J'explique :

Msg box : demande rech d'un num. serie dans le tableau Matrice. (colonne A)

RechercheV associe le résultat de MsgBox et alimente un onglet Cerfa sur les "Zones à effacer" avec les infos suivantes :

  1. Fiche N°
  2. Ref Chantier
  3. Adresse
  4. Client
  5. Charge Initiale

Je souhaite générer des onglets Cerfa automatiquement, et que ces Cerfa s'incrémente automatiquement avec les données du tableau Matrice, en fonction du numéro de serie (seule variable unique).

En gros, un numéro de serie = Un cerfa.

Si on peut faire cela sans message Box, ce serait le top...

Cela fait dejà 3 semaines que je bosse sur multiple version de macro, sans résultat.

J'ai vidé les formules, car je pense être parti sur trop de choix, et je ne souhaite pas vous désorienté.

Merci les Loulous de votre soutient

Bonjour Julien

Attention au lien avec les autres fichiers !
je les ai supprimés

Sinon, juste avec des formules et une petite macro

@+

Bonjour Bruno,

Merci beaucoup.

Tu assures ! Je capte pas toute ta façon de coder, mais beau Gosse !

Tu penses que je peux abuser, il manque sur les fichiers la réf : Chantier / Adresse / Client.

Je pensais les sortir en Excel (en onglet dans un autre classeur) pour pouvoir les modifier au besoins.

Penses-tu cela envisageable ?

La ligne ToCO²Equiv. (TEQ CO²) est une formule :

Gaz 410 coeff multiplicateur du poid de la charge initiale : 2.1

Soit : si le gaz est 410 = Charge ex: 2Kg*2.1= 4.2 TO CO²

Soit : si le gaz est 32 = Charge ex: 2Kg*0.675= 1.35 TO CO²

=SI((K10=410);R10*2,1;R10*0,675)

Re,

Bonjour Bruno,

Merci beaucoup.

Tu assures ! Je capte pas toute ta façon de coder, mais beau Gosse !

Merci

Tu penses que je peux abuser, il manque sur les fichiers la réf : Chantier / Adresse / Client.

Il faut juste mettre la formule INDEX(EQUIV()) que je t'ai mis dans la cellule colorée, il suffit de changer la référence de colonne

Je pensais les sortir en Excel (en onglet dans un autre classeur) pour pouvoir les modifier au besoins.

Penses-tu cela envisageable ?

Oui, tu peux copier l'onglet dans un autre classeur et l'enregistrer
https://forum.excel-pratique.com/excel/enregistrement-d-une-feuille-dans-un-autre-classeur-1800

La ligne ToCO²Equiv. (TEQ CO²) est une formule :

Gaz 410 coeff multiplicateur du poid de la charge initiale : 2.1

Soit : si le gaz est 410 = Charge ex: 2Kg*2.1= 4.2 TO CO²

Soit : si le gaz est 32 = Charge ex: 2Kg*0.675= 1.35 TO CO²

=SI((K10=410);R10*2,1;R10*0,675)

Quel est le problème !?

@+

Hello,

Bon j'ai bien avancé, grace à toi aussi.

Je beug sur le nom des onglets, je souhaiterai qu'ils portent le nom du cerfa colonne F de la matrice (appeler objet NumFicher).

Please...

Le code

Option Explicit

Sub Créer_CERFA()

Dim dLig As Long, Lig As Long

Dim ShtS As Worksheet, ShtD As Worksheet

Dim sPath As String, sNumFiche As String

Dim RChantier As String, sRefChantier As String

Dim AdClient As String, sAdClient As String

Dim Client As String, sClient As String

Dim Filename As String, sFilename As String

' Définir le chemin d'enregistrement des cerfa

sPath = ThisWorkbook.Path & "\"

' Définir les feuilles de travail

Set ShtS = ThisWorkbook.Sheets("Matrice")

Set ShtD = ThisWorkbook.Sheets("Cerfa R410-32")

' Dernière ligne du tableau matrice

dLig = ShtS.Range("A" & Rows.Count).End(xlUp).Row

' Pour chaque ligne

For Lig = 2 To dLig

' Vérifier si pas déjà fait

If ShtS.Range("N" & Lig).Value <> "" Then GoTo SuiteLig

' Si non

sNumFiche = ShtS.Range("F" & Lig).Value

ShtD.Range(" X3").Value = sNumFiche

sRefChantier = ShtS.Range("E" & Lig).Value

ShtD.Range(" M6").Value = sRefChantier

sAdClient = ShtS.Range("D" & Lig).Value

ShtD.Range(" M7").Value = sAdClient

sClient = ShtS.Range("C" & Lig).Value

ShtD.Range(" M8").Value = sClient

' Les formules doivent ramener les valeurs

' Création Cerfa PDF et/ou d'onglet Cerfa automatique

Sheets("Cerfa R410-32").Copy After:=Sheets(Sheets.Count)

Filename:=Sheets("Cerfa R410-32").Range("F" & Lig).Value

' Inscrire fait

ShtS.Range("N" & Lig).Value = "Fait"

SuiteLig:

Next Lig

' Effacer les variables objet

Set ShtS = Nothing: Set ShtD = Nothing

End Sub

Bonjour,

Pourquoi vouloir mettre les cerfa dans le classeur, ce qui va faire grossir le fichier avec le risque de corruption à un moment donné !?

Sinon le code est

    ' Création Cerfa PDF et/ou d'onglet Cerfa automatique
    Sheets("Cerfa R410-32").Copy After:=Sheets(Sheets.Count)
    Sheets(Sheets.Count).Name = sNumFiche

@+

Effectivement, mais vu que je bosse en serveur ce plante pas mal à distance.

Mais oui PQ pas, je vais regarder le code.

un grand merci pour ta patience et ton accompagnement.

Rechercher des sujets similaires à "probleme msgbox recherchev"