Excel, lien entre tableau et devis
Fermé
france_736
Messages postés
6
Date d'inscription
vendredi 24 février 2012
Statut
Membre
Dernière intervention
28 février 2012
-
24 févr. 2012 à 16:14
pijaku Messages postés 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024 - 28 févr. 2012 à 12:43
pijaku Messages postés 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024 - 28 févr. 2012 à 12:43
A voir également:
- Excel, lien entre tableau et devis
- Tableau croisé dynamique - Guide
- Si et excel - Guide
- Trier tableau excel - Guide
- Lien url - Guide
- Tableau ascii - Guide
6 réponses
pijaku
Messages postés
12263
Date d'inscription
jeudi 15 mai 2008
Statut
Modérateur
Dernière intervention
4 janvier 2024
2 752
24 févr. 2012 à 16:21
24 févr. 2012 à 16:21
Bonjour,
Qu'elle que soit la solution que tu choisiras, il faut savoir que ce genre de chose se fait par procédure VBA (Macro).
Donc, tu as le choix entre utiliser une seconde feuille de ton classeur ou un doc word.
A ta place, je préfèrerais n'utiliser que mon classeur excel. On pourrait même imaginer une 3ème feuille qui te servirais de base de données avec tous tes devis enregistrés...
Le mieux pour nous maintenant, ça serait que tu construises tes 2 feuilles (tu as déjà réalisé la 1ère il me semble). Donc tu fais ta feuille "devis", avec des infos bidons et tu nous la transfères ici en utilsant https://www.cjoint.com/
Tu va sur ce site créer un lien vers ton fichier puis reviens ici coller ce lien dans une réponse.
En attente du fichier.
Qu'elle que soit la solution que tu choisiras, il faut savoir que ce genre de chose se fait par procédure VBA (Macro).
Donc, tu as le choix entre utiliser une seconde feuille de ton classeur ou un doc word.
A ta place, je préfèrerais n'utiliser que mon classeur excel. On pourrait même imaginer une 3ème feuille qui te servirais de base de données avec tous tes devis enregistrés...
Le mieux pour nous maintenant, ça serait que tu construises tes 2 feuilles (tu as déjà réalisé la 1ère il me semble). Donc tu fais ta feuille "devis", avec des infos bidons et tu nous la transfères ici en utilsant https://www.cjoint.com/
Tu va sur ce site créer un lien vers ton fichier puis reviens ici coller ce lien dans une réponse.
En attente du fichier.
france_736
Messages postés
6
Date d'inscription
vendredi 24 février 2012
Statut
Membre
Dernière intervention
28 février 2012
Modifié par krazykat le 28/02/2012 à 12:34
Modifié par krazykat le 28/02/2012 à 12:34
http://cjoint.com/*****.htm
voici le doc avec deux feuilles excel comme prévu
le devis est à titre d'exemple je l'ai fait vite fait ...
voici le doc avec deux feuilles excel comme prévu
le devis est à titre d'exemple je l'ai fait vite fait ...
france_736
Messages postés
6
Date d'inscription
vendredi 24 février 2012
Statut
Membre
Dernière intervention
28 février 2012
Modifié par krazykat le 28/02/2012 à 12:33
Modifié par krazykat le 28/02/2012 à 12:33
http://cjoint.com/*****.htm
voici le doc avec deux feuilles excel comme prévu
le devis est à titre d'exemple je l'ai fait vite fait ...
Merci pour votre réponse si rapide :)
voici le doc avec deux feuilles excel comme prévu
le devis est à titre d'exemple je l'ai fait vite fait ...
Merci pour votre réponse si rapide :)
Raymond PENTIER
Messages postés
58764
Date d'inscription
lundi 13 août 2007
Statut
Contributeur
Dernière intervention
19 décembre 2024
17 256
25 févr. 2012 à 00:26
25 févr. 2012 à 00:26
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
france_736
Messages postés
6
Date d'inscription
vendredi 24 février 2012
Statut
Membre
Dernière intervention
28 février 2012
28 févr. 2012 à 11:29
28 févr. 2012 à 11:29
bonjour,
j'ai mis le tableau en ligne pour une duréede 4 jours maximum.
Avez-vous eu assez de temps pour y jeter un oeil ?
je peux le remettre si necessaire.
merci,
France
j'ai mis le tableau en ligne pour une duréede 4 jours maximum.
Avez-vous eu assez de temps pour y jeter un oeil ?
je peux le remettre si necessaire.
merci,
France
pijaku
Messages postés
12263
Date d'inscription
jeudi 15 mai 2008
Statut
Modérateur
Dernière intervention
4 janvier 2024
2 752
Modifié par krazykat le 28/02/2012 à 12:34
Modifié par krazykat le 28/02/2012 à 12:34
Bonjour,
Non non pas la peine, j't'avais juste oublié...
Regarde ce fichier :
http://cjoint.com/*****j
Non non pas la peine, j't'avais juste oublié...
Regarde ce fichier :
http://cjoint.com/*****j
france_736
Messages postés
6
Date d'inscription
vendredi 24 février 2012
Statut
Membre
Dernière intervention
28 février 2012
28 févr. 2012 à 12:22
28 févr. 2012 à 12:22
génniiaallllll merci :) vraiment le top !!! je suis super contente
mais je vais encore demander une chose :
pourriez-vous m'expliquer votre macro en la copiant ici (si c est possible)
que que je puisse par exemple juste aller changer dans la macro la colonne à copier en cas de 1.
je m explique, ici nous copions la colonne D ("le libellé" du produit) lorsqu'il y a un '1', ca on est bien d accord,
mais maintenant que je sais que ca fonctionne (grace à vous <3 :)))) ) et bien je vais ajouter une colonne avec un libellé plus simple pour le client, donc si je peux aller par la suite changer dans votre macro la colonne D en .. X (par exemple), ce sera parfait.
et si je comprends bien le mecanisme, je pourrai ajouter peut etre par la suite une ou deux choses mais je dois en parler avec le patron, nous allons mettre ca au point et si vraiment je ne me debrouille pas avec vos explications, je ferai de nouveau appelle à votre gentillesse....
pour info, je ne sais pas ou on voit la macro dans excel :/ et oui je n y connais pas grand chose, j ai eu quelques cours mais bon pas suffisant et jamais de macro (si c est bien de ca que nous parlons) donc si vous pouviez aussi m indiquer ou je vais la chercher ca m aide :)
alors je dois enregistrer votre document sur cjoint dans mon ordi je suppose et par la suite il ne sera plus trouvable ? car je ne peux laisser trop longtemps ces informations sur le net, si vous voyez ce que je veux dire :) mais pas de probleme le temps que nous ayons fini le boulot
je vous remercie encore une fois, c est génial ce site autant que vous, énorme!!
mais je vais encore demander une chose :
pourriez-vous m'expliquer votre macro en la copiant ici (si c est possible)
que que je puisse par exemple juste aller changer dans la macro la colonne à copier en cas de 1.
je m explique, ici nous copions la colonne D ("le libellé" du produit) lorsqu'il y a un '1', ca on est bien d accord,
mais maintenant que je sais que ca fonctionne (grace à vous <3 :)))) ) et bien je vais ajouter une colonne avec un libellé plus simple pour le client, donc si je peux aller par la suite changer dans votre macro la colonne D en .. X (par exemple), ce sera parfait.
et si je comprends bien le mecanisme, je pourrai ajouter peut etre par la suite une ou deux choses mais je dois en parler avec le patron, nous allons mettre ca au point et si vraiment je ne me debrouille pas avec vos explications, je ferai de nouveau appelle à votre gentillesse....
pour info, je ne sais pas ou on voit la macro dans excel :/ et oui je n y connais pas grand chose, j ai eu quelques cours mais bon pas suffisant et jamais de macro (si c est bien de ca que nous parlons) donc si vous pouviez aussi m indiquer ou je vais la chercher ca m aide :)
alors je dois enregistrer votre document sur cjoint dans mon ordi je suppose et par la suite il ne sera plus trouvable ? car je ne peux laisser trop longtemps ces informations sur le net, si vous voyez ce que je veux dire :) mais pas de probleme le temps que nous ayons fini le boulot
je vous remercie encore une fois, c est génial ce site autant que vous, énorme!!
pijaku
Messages postés
12263
Date d'inscription
jeudi 15 mai 2008
Statut
Modérateur
Dernière intervention
4 janvier 2024
2 752
28 févr. 2012 à 12:26
28 févr. 2012 à 12:26
sur cjoint, si personne n'y retourne et ne le télécharge, il sera effacé dans quelques jours.
Il faut donc demander à un modérateur d'ici de supprimer dans les deux messages ou toi et moi avons fait un lien vers ton fichier, ce fameux lien. Comme ça : plus d'accès à ton fichier sur cjoint.
Oui enregistre le, je te fais les commentaires de la macro dans une réponse.
A tout à l'heure.
Il faut donc demander à un modérateur d'ici de supprimer dans les deux messages ou toi et moi avons fait un lien vers ton fichier, ce fameux lien. Comme ça : plus d'accès à ton fichier sur cjoint.
Oui enregistre le, je te fais les commentaires de la macro dans une réponse.
A tout à l'heure.
france_736
Messages postés
6
Date d'inscription
vendredi 24 février 2012
Statut
Membre
Dernière intervention
28 février 2012
28 févr. 2012 à 12:33
28 févr. 2012 à 12:33
ok on supprimera tout ca quand ce sera vraiment au point, pas d'urgence non plus :)
votre travail m'est précieux en tout cas...
à plus tard :)
votre travail m'est précieux en tout cas...
à plus tard :)
pijaku
Messages postés
12263
Date d'inscription
jeudi 15 mai 2008
Statut
Modérateur
Dernière intervention
4 janvier 2024
2 752
Modifié par pijaku le 28/02/2012 à 12:44
Modifié par pijaku le 28/02/2012 à 12:44
Pour accéder au code VBA, dans ce cas, clic droit sur l'onglet « Feuil1 » / visualiser le code.
Regarde ça, j'ai essayé d'être explicite, quitte à horrifier les puristes... :
Et dis moi...
Cordialement,
Franck P
Regarde ça, j'ai essayé d'être explicite, quitte à horrifier les puristes... :
'signifie que toutes les variables devront être déclarées Option Explicit 'cette procedure se déclenche automatiquement lorsque la feuille en question ("Feuil1") 'change. Quelque soit le changement dans cette feuille. Ne concerne que la Feuil1. Private Sub Worksheet_Change(ByVal Target As Range) 'déclaration des variables Dim DrLg As Long, Lig As Integer, Trouve As Range '******** ici on va definir la plage qui provoquera l'événement lors d'un changement***** 'dernière ligne non vide de la colonne C DrLg = Range("C" & Rows.Count).End(xlUp).Row 'Target = cellule qui a changé 's'il n'y a pas d'intersection entre la cellule et le Range([C12], Cells(Rows.Count, 3).End(xlUp))) 'soit si la cellule qui a changé n'appartient pas à « C12:C85 » (dans ton exemple) 'alors on quitte la procédure et on ne fait rien. If Intersect(Target, Range([C12], Cells(Rows.Count, 3).End(xlUp))) Is Nothing Then Exit Sub 'si le contenu de la cellule qui a changé est égal à 1 alors If Target.Value = 1 Then 'dans la feuil2 With Sheets("Feuil2") 'on determine la ligne qui va recevoir les données colonne A Lig = .Range("A23").End(xlUp).Row + 1 'cette ligne doit au minimum être supérieure ou égal à 8 If Lig < 8 Then Lig = 8 'si tout est remplit (à partir de la ligne 22) If Lig >= 22 Then 'alors le devis est considéré comme remplit ==> message MsgBox "Devis complet! Enregistrement annulé" 'on ne fait rien et on quitte la procédure Exit Sub End If 'si tous les tests precedents sont ok alors : 'on remplit les colonnes A et F des données situées : 'Target.Offset(0, 1) = décaler de 0 ligne et de 1 colonnes à droite de la Target 'soit colonne D Feuil1 .Range("A" & Lig) = Target.Offset(0, 1) ''Target.Offset(0, 2) = décaler de 0 ligne et de 2 colonnes à droite de la Target 'soit colonne E Feuil1 .Range("F" & Lig) = Target.Offset(0, 2) End With 'Par contre, si le contenu de la cellule qui a changé est égal à rien ou 0 alors ElseIf Target.Value = "" Or Target.Value = 0 Then 'dans la feuil2 With Sheets("Feuil2") 'entre Feuil2 !A8:A22 on cherche le contenu de la colonne D, cellule voisine de Target Set Trouve = .Range("A8:A22").Cells.Find(Target.Offset(0, 1).Value, Lookat:=xlWhole) 'si on ne le trouve pas. (cas de l'effacement d'un zéro par exemple) If Trouve Is Nothing Then 'un message d'information préviens MsgBox "Le devis ne comportait pas cette élément!, veuillez vérifier" Exit Sub Else 'si on trouve le contenu de la cellule (voisine à Target Colonne D Feuil1) dans la plage Feuil2 !A8 :A22 Alors 'on prends son numéro de ligne Lig = Trouve.Row End If Set Trouve = Nothing 'le but est d'effacer cette ligne alors : 'on coupe les cellules comprises entre A(Ligne+ 1) et F22 'et on les colle une ligne au dessus, donc à la place de la ligne que l'on veux effacer .Range("A" & Lig + 1 & ":F22").Cut .Range("A" & Lig) End With 'A partir d'ici on remets juste une bordure à la plage A8:F24 With Sheets("Feuil2").Range("A8:F24").Borders(xlEdgeLeft) .LineStyle = xlContinuous .Weight = xlMedium .ColorIndex = xlAutomatic End With With Sheets("Feuil2").Range("A8:F24").Borders(xlEdgeTop) .LineStyle = xlContinuous .Weight = xlMedium .ColorIndex = xlAutomatic End With With Sheets("Feuil2").Range("A8:F24").Borders(xlEdgeBottom) .LineStyle = xlContinuous .Weight = xlMedium .ColorIndex = xlAutomatic End With With Sheets("Feuil2").Range("A8:F24").Borders(xlEdgeRight) .LineStyle = xlContinuous .Weight = xlMedium .ColorIndex = xlAutomatic End With End If End Sub
Et dis moi...
Cordialement,
Franck P