Communauté Fb
Follow us on twitter
Les vidéos du site
Le site complément
Dépannage de votre PC

Programmer en vb

Bonjour et bienvenue,

Programmer en VB est le site qui vous fera prendre conscience que vous pouvez concevoir votre programme informatique vous-même, que vous soyez artisan, employé ou étudiant.

Le Visual Basic est un langage informatique très puissant, très flexible et très abordable.
Une version en application se trouve sous Office
Excel pour exemple :
Tapez Alt + F11 à l’aide de votre clavier puis vous voilà dans l’éditeur de code VBA.

Notre forum d’entraide vous offre des tutoriels ainsi que divers exemples tout prêt à adapter à votre projet personnel.
Nous vous demandons uniquement de la bonne humeur et de la bonne volonté pour toutes questions ou toutes aides quelle qu’elle soit.
Sachez que pour progresser rapidement il est conseillé d’aider au mieux les autres membres.
Nous ne sommes pas là pour juger les qualités ou défauts de codes proposés, mais pour trouver ensemble la solution à votre demande.

A vos claviers :

Afin de remplir le forum, nous vous demandons de partager sur les réseaux sociaux et autres.
https://www.facebook.com/AdminPVB/


Merci de nous rejoindre sur http://programmer-en-vb.forumactif.org/
Merci d'avoir pris le temps de lire.
Merci pour votre inscription.

L'équipe de Programmer-en-VB

Forum de programmation VBA et VB.NET

Welcome if you does not speak french,you are able to translate the whole topics with the flags just below of this message. Click to English

Visual Basic Application et VB.net de puissants langages à la portée de tous.

Participez et soyez acteurs des divers forums ci-dessous.

Bienvenue à chaque nouveaux membres et merci à tous ceux qui font vivre ce forum.


Qui est en ligne ?

Il y a en tout 8 utilisateurs en ligne :: 0 Enregistré, 0 Invisible et 8 Invités

Aucun


Le record du nombre d'utilisateurs en ligne est de 65 le Mar 8 Juil - 23:40

Statistiques

Nos membres ont posté un total de 5158 messages dans 620 sujets

Nous avons 461 membres enregistrés

L'utilisateur enregistré le plus récent est RACCH

Recherche dans les forums

Utiliser cette méthode afin de trouver rapidement les discussions disponible sur notre forum.


Derniers sujets

» EFFACER LIGNE SUR BASE
par AdminPVB Aujourd'hui à 6:43

» Menustrip Vbnet Visual Studio
par Berly Dim 17 Sep - 13:27

» Insertion commentaire dans cellules
par Berly Ven 15 Sep - 20:21

» Chercher un texte dans un commentaire de cellule
par Berly Ven 15 Sep - 20:10

» ameliorer informatique
par jmcr Jeu 14 Sep - 23:19

» question pour le forum
par AdminPVB Jeu 14 Sep - 16:59

» total d'une cellule
par jmcr Lun 11 Sep - 14:51

» CODE ET combobox date enregistrement
par jmcr Lun 11 Sep - 14:49

» compter le nombre de lignes dans un listbox
par jmcr Dim 10 Sep - 11:24

» dossier pdf
par jmcr Mer 6 Sep - 21:40

» suppression d'un fichier txt en cours d'utilisation
par La boc Mar 5 Sep - 20:12

» Boucle sur DataGridView
par AdminPVB Ven 1 Sep - 20:50

» RECHERCHE COMPTABILISER NOMBRE carte
par grisan29 Mar 29 Aoû - 17:49

» ancien temps mis au moderne
par Berly Mar 29 Aoû - 17:18

» Liers des tables dans une BDD
par La boc Mar 29 Aoû - 11:01

Utiliser le bouton résolu

Dans votre message d'origine
cliquer sur le bouton



Ensuite tout en bas sur
Modifier le titre du sujet
cliquer sur le bouton

Résolu !!!

Ensuite changer l’icône du sujet par le bouton

Voilà pas plus compliqué que cela.


Merci pour votre présence ou passage sur le site de programmer-en-vb

Partenaires


créer un forum



Annuaire referencement


Flux RSS


MSN 

Septembre 2017

LunMarMerJeuVenSamDim
    123
45678910
11121314151617
18192021222324
252627282930 

Calendrier Calendrier

Menustrip Vbnet Visual Studio

Sam 16 Sep - 21:05 par Berly

Bonsoir le Forum  Very Happy

Je suis actuellement en construction  d'un logiciel pour les enfants en scolarité primaire.(Visual Studio Community 2017)

Je l'ai commencé et il fonctionne parfaitement a ce stade.

J'utilise Le contrôle MenuSrip.

Au commencement il est question d'afficher par catégorie tables de 1 a 10 .
Un Premier Bouton "Tables de Multiplications" Aucun événement 
Puis Ajouts …

[ Lecture complète ]
suppression d'un fichier txt en cours d'utilisation

Mar 5 Sep - 9:51 par La boc

Bonjour,

dans mon application j'ai un fichier txt qui est chargé dans un DataGridView en fonction du n° ID.

Quand je supprime un ID, je dois aussi supprimer ce fichier, quand je fait un delete ça marche bien, le fichier est bien supprimé du dossier mais quand je ferme l'application j'ai un message box:

"Violation de l’accès concurrentiel:
Delete command a effectué 0 des enregistrements …

[ Lecture complète ]
Boucle sur DataGridView

Jeu 31 Aoû - 8:25 par La boc

Bonjour as tous,

J'ai laissé tomber la BDD avec les tables pour mes factures, parce-que j'ai plus de 850 entrées à gérer et ça va être un peu trop lourd.

Je suis donc partis sur des DataGridView pour emplir mes factures, et au lieu d'enregistrer dans une BDD j'enregistre dans un fichier txt et je recharge les fchier en fonction du nom du client.

Jusque là pas de problème.

Je voudrais …

[ Lecture complète ]
Liers des tables dans une BDD

Lun 28 Aoû - 15:08 par La boc

Bonjour à tous,

Je sèche sur un problème visiblement simple, mais impossible de faire quelque chose qui fonctionne!

Voilà dans une base de données access j'ai deux tables, une table client et une table facture, je souhaiterais lier les ID des deux tables pour que quand je choisis un id client j'ai sa facture dans la table facture.

Je fais une application VBNET avec Visulal studio comunity …

[ Lecture complète ]
Application

Lun 15 Mai - 19:02 par Berly

Bonjour le forum

Souci dans une nouvelle application.

Total des énoncés =3

Ecriture de l'énoncé 1 dans un Textbox.

Je voulais créer plusieurs problèmes différents.
Dons pour cela j'ai créé 3 sub  Laughing.

Lors de l'événement clic sur le bouton créé pour visualiser le premier énoncé celui ci s'affiche correctement Very Happy .
Suite a cela l'utilisateur donne le résultat ,et un Msgbox …

[ Lecture complète ]
Obtenir le volume sonore enregistré par le micro

Sam 10 Sep - 13:29 par Nayl.VBcoder

Bonjour,

Je cherche à avoir le volume sonore de la pièce en temps réel, et l'afficher dans une ProgressBar.
Je ne vois pas comme plus décrire mon problème.

Merci de vos réponses.

Petits bidouillages pour ce faciliter La vie ,Astuces et codes pratique

Dim 11 Juin - 12:20 par Berly

Bonjour le Forum  Very Happy.

Lorsque j'écrivais dans mon code Console.Writeline ("Patati,Patata,......) ,j'ai d'abord utilisé le copié collé en changeant la valeur du texte .

Bon d'accord ,c'est bien mais ,ça me saoul un peu ,au fur et a mesure de mes apprentissages ,j'ai découvert les fonctions  Very Happy.

Maintenant je partage celle ci avec vous .

On est la sur un exemple de code en "Mode …

[ Lecture complète ]
Utilisation d'un objet son (Wav)

Jeu 18 Mai - 21:48 par Berly

Bonjour le forum 

Voila , je voudrais savoir si on peut créer un tableau d'objets son.
Difficile de trouver ce genre d'information .

Les sons  sont intégrés en ressources programme.

Merci  Very Happy
Code:
[Module Module1
    Dim son1 = New System.Media.SoundPlayer(My.Resources._0283)
    Dim son2 = New System.Media.SoundPlayer(My.Resources._0863)
    Dim son3 = New …


[ Lecture complète ]
Ressource Vb.net

Ven 5 Mai - 22:29 par Berly

Bonsoir le forum

Toujours a la recherche de ressources ,je partage avec vous une nouvelle ressource  Wink.

Bonne lecture .

https://vbnetpourtous.wordpress.com/2012/12/13/les-variables/


Problème Erreur d’exécution ‘1004’:

Partagez
avatar
danpom302
Step_Three_VBA
Step_Three_VBA

Localisation : Québec
Messages : 368
Date d'inscription : 23/09/2013
Age : 66

Résolu Problème Erreur d’exécution ‘1004’:

Message par danpom302 le Dim 26 Oct - 14:07

Bonjour groupe,

J'ai besoin de votre aide pour régler un problème avec un code.

Dans une seule feuille sur un total de 7 d'un fichier Excel 2010, lorsque j'appuie pour la première fois sur un bouton contrôle de formulaire pour confirmer un enregistrement de données, j'obtiens le message suivant:


Erreur d’exécution ‘1004’:
La méthode PasteSpecial de la classe Range a échoué.

La ligne où se produit l'erreur est :

Selection.PasteSpecial Paste:=x1PasteValues, Operation:=x1None, SkipBlanks:=False, Transpose:=False

Cette ligne fait partie du code suivant:
Code:

'Collage des données
        Range("C" & ligne_active_base).Select
        Selection.PasteSpecial Paste:=x1PasteValues, Operation:=x1None, SkipBlanks:=False, Transpose:=False
        Sheets("Fiche nouveau client").Select
        Range("A1").Select

Lorsque j'annule le débogueur et que j'appuie une 2e fois sur bouton contrôle de formulaire pour confirmer l'enregistrement de données, le tous fonctionne correctement.

Avez-vous une idée comment régler ce problème?

Merci pour votre aide,

Dan
avatar
AdminPVB
Admin
Admin

Localisation : France Nord 59
Messages : 1843
Date d'inscription : 24/05/2013
Age : 41

Résolu Re: Problème Erreur d’exécution ‘1004’:

Message par AdminPVB le Dim 26 Oct - 14:20

Bonjour,
Y a t-il quelque chose copier lors du premier passage,
il faut voir le reste du code ainsi que vérifier si la feuille n'est pas protégée
A+


_________________
Avatar


Bienvenue sur

Dans votre message d'origine cliquer sur le bouton

Tout en bas sur Modifier le titre du sujet cliquer sur le bouton : Résolu !!!
Changer l’icône du sujet par le bouton

Tout simplement.


Merci pour votre présence ou passage sur le site de programmer-en-vb

Celui qui croit tout connaitre, ne connait sans doute pas grand chose,chacun apporte son savoir, mais on a tous tout à apprendre ....  

study

avatar
danpom302
Step_Three_VBA
Step_Three_VBA

Localisation : Québec
Messages : 368
Date d'inscription : 23/09/2013
Age : 66

Résolu Re: Problème Erreur d’exécution ‘1004’:

Message par danpom302 le Dim 26 Oct - 17:09

Bonjour Fhoest,

Merci pout ton commentaire. Je te transmet le code entier ainsi que le fichier.

http://pvb.comeze.com/Fichier_upload/danpom302/Fiche_client_Facture.xlsm

Code:

Sub TDD_FNC()
    '
    ' Transfert des données de la fiche client vers le registre clients Macro
    '
    'Atteindre onglet Fiche nouveau client et mémoriser les données
        Sheets("Fiche nouveau client").Select
        ActiveSheet.Unprotect "soleil456"
        Range("AC24:BO24").Select
        Selection.Copy
    
    'Test pour déterminer la ligne où coller les infos dans le tableau Registre clients
        Sheets("Registre clients").Select
        ActiveSheet.Unprotect "soleil456"
        valeurC2 = Range("C2").Value

If valeurC2 = "" Then
        Range("C2").Select
Else
        Range("C1").Select
        Selection.End(xlDown).Select
        ligne_active_base = ActiveCell.Row
        Range("C" & ligne_active_base + 1).Select
End If
    'Memorise le n° de la ligne où coller les données
        ligne_active_base = ActiveCell.Row
    
    'Collage des données
        Range("C" & ligne_active_base).Select
        [color=#ffff00]Selection.PasteSpecial Paste:=x1PasteValues, Operation:=x1None, SkipBlanks:=False, Transpose:=False[/color]
        Sheets("Fiche nouveau client").Select
        Range("A1").Select

    'Rendre vierge l'onlet Fiche nouveau client
        Range("E8:F8,E9:N9,U9:V9,E10:I10,K10:P10,E11:F11,I11:J11,L11:P11,D14:V18") _
        .Select
        Range("D14").Activate
        Selection.ClearContents
        Range("A1").Select
        ActiveSheet.Protect "soleil456", DrawingObjects:=True, Contents:=True, Scenarios:= _
        True, AllowFormattingCells:=True, AllowSorting:=False, AllowFiltering:=False
        
    'Retourner dans le tableau Registre de clients
        Sheets("Registre clients").Select
        ActiveWorkbook.Worksheets("Registre clients").Sort.SortFields.Clear
        ActiveWorkbook.Worksheets("Registre clients").Sort.SortFields.Add Key:=Range( _
        "D2:D1000"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:= _
        xlSortNormal

With ActiveWorkbook.Worksheets("Registre clients").Sort
        .SetRange Range("A1:AS1000")
        .Header = xlYes
        .MatchCase = False
        .Orientation = xlTopToBottom
        .SortMethod = xlPinYin
        .Apply
        ActiveSheet.Protect "soleil456", DrawingObjects:=True, Contents:=True, Scenarios:= _
        False, AllowFormattingCells:=True, AllowSorting:=True, AllowFiltering:=True
        Sheets("FACTURE").Select
        Range("A1").Select

End With
    Sheets("Facture").Select
        Range("A1").Select
        
End Sub

La feuille n'est pas protégée lors du collage.

Merci pour ton aide,

Dan
avatar
AdminPVB
Admin
Admin

Localisation : France Nord 59
Messages : 1843
Date d'inscription : 24/05/2013
Age : 41

Résolu Re: Problème Erreur d’exécution ‘1004’:

Message par AdminPVB le Dim 26 Oct - 20:27

Bonsoir,
le projet vba est protégé par un mot de passe.
A+


_________________
Avatar


Bienvenue sur

Dans votre message d'origine cliquer sur le bouton

Tout en bas sur Modifier le titre du sujet cliquer sur le bouton : Résolu !!!
Changer l’icône du sujet par le bouton

Tout simplement.


Merci pour votre présence ou passage sur le site de programmer-en-vb

Celui qui croit tout connaitre, ne connait sans doute pas grand chose,chacun apporte son savoir, mais on a tous tout à apprendre ....  

study

avatar
danpom302
Step_Three_VBA
Step_Three_VBA

Localisation : Québec
Messages : 368
Date d'inscription : 23/09/2013
Age : 66

Résolu Re: Problème Erreur d’exécution ‘1004’:

Message par danpom302 le Dim 26 Oct - 21:34

Bonjour Fhoest,

Désolé, le mot de passe est Dp3026074; je le changerai lorsque j'aurai terminé.

Merci,

Dan
avatar
AdminPVB
Admin
Admin

Localisation : France Nord 59
Messages : 1843
Date d'inscription : 24/05/2013
Age : 41

Résolu Re: Problème Erreur d’exécution ‘1004’:

Message par AdminPVB le Dim 26 Oct - 23:00

Bonsoir,
j'ai regardé le fichier
pourquoi passer par un copier/coller alors comme ça c'est beaucoup plus simple:
Code:
Range("B" & ligne_active_base & ":J" & ligne_active_base) = Sheets("FACTURE").Range("Q9:Y9").Value
A+


_________________
Avatar


Bienvenue sur

Dans votre message d'origine cliquer sur le bouton

Tout en bas sur Modifier le titre du sujet cliquer sur le bouton : Résolu !!!
Changer l’icône du sujet par le bouton

Tout simplement.


Merci pour votre présence ou passage sur le site de programmer-en-vb

Celui qui croit tout connaitre, ne connait sans doute pas grand chose,chacun apporte son savoir, mais on a tous tout à apprendre ....  

study

avatar
danpom302
Step_Three_VBA
Step_Three_VBA

Localisation : Québec
Messages : 368
Date d'inscription : 23/09/2013
Age : 66

Résolu Re: Problème Erreur d’exécution ‘1004’:

Message par danpom302 le Lun 27 Oct - 2:21

Bonjour Fhoest,

Merci pour ton code. Je l'ai modifié pour qu'il fasse référence à Sheets("Fiche nouveau client").Range("AC24:BO24").Value. Voici mon code modifier:
Code:

Range("B" & ligne_active_base & ":J" & ligne_active_base) = Sheets("Fiche nouveau client").Range("AC24:BO24").Value

Seulement, les informations ne se collent pas dans les bons champs de la feuille Registre clients. Elles sont décalées d'une colonne vers la gauche soit à partir de la colonne B alors que le collage devrait commencer dans la colonne C. Est-ce que c'est à cause de la lettre J dans ton code? Peux-tu m'expliquer s.v.p.?

Merci,

Dan Smile
avatar
AdminPVB
Admin
Admin

Localisation : France Nord 59
Messages : 1843
Date d'inscription : 24/05/2013
Age : 41

Résolu Re: Problème Erreur d’exécution ‘1004’:

Message par AdminPVB le Lun 27 Oct - 4:54

Bonjour,
tu dois avoir les mêmes nombre de colonnes:
exemple:
Code:
sheets("yy").range("a").value=sheets("xx").range("Z").value '1 colonne
sheets("yy").range("a:c").value=sheets("xx").range("X:Z").value etc...
et si ça ne va pas:
cellule par cellule. comme la première ligne de l'exemple et ce pour chaque cellules
si les cellules ont une certaine logique et qu'elles se suivent tu peux utiliser une boucle .
Exemple:

[code]
for i = 1 to 10 ' pour 10 cellules
sheets("yy").cells(1,i).value=sheets("XX").cells(5,i+2).value 'cells(1,i)=range("A"&i) et cells(5,i+2)=range("C5") pour i=1
next
[code]
A+



_________________
Avatar


Bienvenue sur

Dans votre message d'origine cliquer sur le bouton

Tout en bas sur Modifier le titre du sujet cliquer sur le bouton : Résolu !!!
Changer l’icône du sujet par le bouton

Tout simplement.


Merci pour votre présence ou passage sur le site de programmer-en-vb

Celui qui croit tout connaitre, ne connait sans doute pas grand chose,chacun apporte son savoir, mais on a tous tout à apprendre ....  

study

avatar
danpom302
Step_Three_VBA
Step_Three_VBA

Localisation : Québec
Messages : 368
Date d'inscription : 23/09/2013
Age : 66

Résolu Re: Problème Erreur d’exécution ‘1004’:

Message par danpom302 le Lun 27 Oct - 16:48

Bonjour Fhoest,

Je suis désolé, mais je suis quelque peu perdu dans tes suggestion, problème de compréhension de tes codes.

Ce que je cherche à accomplir est de copier les informations des cellules AC24:BO24, donc 39 cellules en ligne, situées dans la feuille "Fiche nouveau client" et de les coller dans la feuille "Registre clients" à partir de la cellule C2.

Si la cellule C2 n'est pas vide, coller les informations dans la cellule C3 et ainsi de suite si les cellules ne sont pas vides.

Pour ce qui est de ton code proposé soit

Code:

for i = 1 to 10 ' pour 10 cellules
sheets("yy").cells(1,i).value=sheets("XX").cells(5,i+2).value 'cells(1,i)=range("A"&i) et cells(5,i+2)=range("C5") pour i=1
next

J'ai commencé à le modifier (voir ci-après), mais je suis perdu à la suite de : sheets("Fiche nouveau client").

Code:

for i = 1 to 39 ' pour 39 cellules
sheets("Fiche nouveau client").cells(1,i).value=sheets("XX").cells(5,i+2).value 'cells(1,i)=range("A"&i) et cells(5,i+2)=range("C5") pour i=1
next

Peut m'aider S.V.P.? j'aimerais comprendre cette façon de faire. Very Happy

Merci,

Dan

avatar
AdminPVB
Admin
Admin

Localisation : France Nord 59
Messages : 1843
Date d'inscription : 24/05/2013
Age : 41

Résolu Re: Problème Erreur d’exécution ‘1004’:

Message par AdminPVB le Lun 27 Oct - 17:08

Bonjour,
tu veux donc par exemple:
Code:
sheets("Registre clients").range("C" & dernière_ligne_vide)=sheets("Fiche nouveau client").Range("AC24").value
' Puis cellules suivante
sheets("Registre clients").range("C" & dernière_ligne_vide+1)=sheets("Fiche nouveau client").Range("AD24").value
'etc..
Si oui je te ferais la boucle.
A+


_________________
Avatar


Bienvenue sur

Dans votre message d'origine cliquer sur le bouton

Tout en bas sur Modifier le titre du sujet cliquer sur le bouton : Résolu !!!
Changer l’icône du sujet par le bouton

Tout simplement.


Merci pour votre présence ou passage sur le site de programmer-en-vb

Celui qui croit tout connaitre, ne connait sans doute pas grand chose,chacun apporte son savoir, mais on a tous tout à apprendre ....  

study

avatar
danpom302
Step_Three_VBA
Step_Three_VBA

Localisation : Québec
Messages : 368
Date d'inscription : 23/09/2013
Age : 66

Résolu Re: Problème Erreur d’exécution ‘1004’:

Message par danpom302 le Lun 27 Oct - 21:37

Bonjour Fhost,

Plutôt que de faire une boucle avec 39 cellules, pouvons-nous utiliser For i = 1 To 39

Voici mon code modifié mais il ne fonctionne pas probablement parce que je ne l'ai pas écrit comme il le faut voir surtout Sheets("Fiche nouveau client").Range("AC24&i").Value .

Code:

Sub Copier_coller5()
'
'
'
' pour 39 cellules consécutive
    For i = 1 To 39
        Sheets("Registre clients").Range("C" & dernière_ligne_vide) = Sheets("Fiche nouveau client").Range("AC24&i").Value

Next

End Sub

Lorsque tu vas corriger ce bout de code, je vais pouvoir m'amuser à corriger d'autres codes où je me suis compliqué l'existence.

Merci pour ton aide,

Dan
avatar
AdminPVB
Admin
Admin

Localisation : France Nord 59
Messages : 1843
Date d'inscription : 24/05/2013
Age : 41

Résolu Re: Problème Erreur d’exécution ‘1004’:

Message par AdminPVB le Mar 28 Oct - 5:14

Bonjour,
voici le code avec quelques remarques.
Code:
Sub Copier_coller5()
'
'
'
' pour 39 cellules consécutive
Rem départ à zéro,puis attribution de la bonne valeur de dernière_ligne_vide avant la boucle
' Utilisation de Range("Colonne Ligne")
' Utilisation de Cells(ligne,Colonne) Attention en numérique et donc sans guillemets séparer par une virgule
    For i = 0 To 39
        Sheets("Registre clients").Cells(dernière_ligne_vide + i, 3).Value = Sheets("Fiche nouveau client").Cells(24,29 + i).Value
    Next
'le chiffre 3 dans .cells de la première feuille correspond donc à la colonne C
'le chiffre 3 dans .cells de la feuille destination correspond donc à la colonne AC
End Sub
A+


Dernière édition par Fhoest™ le Mer 29 Oct - 18:54, édité 1 fois


_________________
Avatar


Bienvenue sur

Dans votre message d'origine cliquer sur le bouton

Tout en bas sur Modifier le titre du sujet cliquer sur le bouton : Résolu !!!
Changer l’icône du sujet par le bouton

Tout simplement.


Merci pour votre présence ou passage sur le site de programmer-en-vb

Celui qui croit tout connaitre, ne connait sans doute pas grand chose,chacun apporte son savoir, mais on a tous tout à apprendre ....  

study

avatar
danpom302
Step_Three_VBA
Step_Three_VBA

Localisation : Québec
Messages : 368
Date d'inscription : 23/09/2013
Age : 66

Résolu Re: Problème Erreur d’exécution ‘1004’:

Message par danpom302 le Mer 29 Oct - 2:46

Bonjour Fhoest,

Voici le code que j'ai modifié à partir d'une de tes recommandation mais il ne fonctionne pas. Il bloque à la ligne : Sheets("Registre clients").Cells(dernière_ligne_vide + i, 3).Value = Sheets("Fiche nouveau client").Cells(29 + i, 24).Value

Voici mon code entier.
Code:

Sub TDD_FNC()
    '
    ' TDD_Fiche nouveau client vers registre clients Macro
    '
    'Collage des données
        For i = 0 To 39
        Sheets("Registre clients").Cells(dernière_ligne_vide + i, 3).Value = Sheets("Fiche nouveau client").Cells(29 + i, 24).Value
    Next
         
    'Rendre vierge le formulaire
        Sheets("Fiche nouveau client").Select
        Range("E8:F8,E9:N9,R9:V9,E10:I10,K10:P10,E11:F11,I11:J11,L11:P11,D14:V18"). _
        Select
        Range("D14").Activate
        Selection.ClearContents
        Range("A1").Select
        ActiveSheet.Protect "soleil456", DrawingObjects:=True, Contents:=True, Scenarios:= _
        False, AllowFormattingCells:=True, AllowSorting:=False, AllowFiltering:=True
       
    'Retourner dans le tableau
        Sheets("Registre clients").Select
        ActiveSheet.Unprotect "soleil456"
        ActiveWorkbook.Worksheets("Registre clients").Sort.SortFields.Clear
    ActiveWorkbook.Worksheets("Registre clients").Sort.SortFields.Add Key:=Range( _
        "D2:D1000"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:= _
        xlSortNormal
With ActiveWorkbook.Worksheets("Registre clients").Sort
        .SetRange Range("C2:AO1000")
        .Header = xlGuess
        .MatchCase = False
        .Orientation = xlTopToBottom
        .SortMethod = xlPinYin
        .Apply

End With
        Range("A1").Select
        ActiveSheet.Protect "soleil456", DrawingObjects:=True, Contents:=True, Scenarios:= _
        False, AllowFormattingCells:=True, AllowSorting:=False, AllowFiltering:=True
        Sheets("FACTURE").Select
        Range("A1").Select
       
End Sub

As-tu une solution? Je ne peux pas utiliser ton code en boucle car ce sont toujours les cellules AC24 à BO24 de la feuille Fiche nouveau client qui sont copier et les informations dans ces cellules sont changeantes d'un client à l'autre. Après avoir été copier, elles sont toujours coller dans la feuille Registre client dans la colonne C à partir de la dernière cellule vide après la dernière pleine.

Merci pour ton aide,

Dan
avatar
AdminPVB
Admin
Admin

Localisation : France Nord 59
Messages : 1843
Date d'inscription : 24/05/2013
Age : 41

Résolu Re: Problème Erreur d’exécution ‘1004’:

Message par AdminPVB le Mer 29 Oct - 5:05

Bonjour,
chaque fois que tu appelles ce code c'est bien à l'aide d'un bouton de commande ou les valeurs des cellules AC24-BO24 ont changés ?
si oui le code est bon ,mais dans mes commentaires j'ai bien noté qu'il fallait donner la valeur à la variable dernière_ligne_vide dans ton code elle est = 0 donc ça ne peut pas fonctionner.
A bientôt


_________________
Avatar


Bienvenue sur

Dans votre message d'origine cliquer sur le bouton

Tout en bas sur Modifier le titre du sujet cliquer sur le bouton : Résolu !!!
Changer l’icône du sujet par le bouton

Tout simplement.


Merci pour votre présence ou passage sur le site de programmer-en-vb

Celui qui croit tout connaitre, ne connait sans doute pas grand chose,chacun apporte son savoir, mais on a tous tout à apprendre ....  

study

avatar
danpom302
Step_Three_VBA
Step_Three_VBA

Localisation : Québec
Messages : 368
Date d'inscription : 23/09/2013
Age : 66

Résolu Re: Problème Erreur d’exécution ‘1004’:

Message par danpom302 le Mer 29 Oct - 14:44

Bonjour Fhoest,


La réponse à ta question
chaque fois que tu appelles ce code c'est bien à l'aide d'un bouton de commande ou les valeurs des cellules AC24-BO24 ont changés ?

est belle et bien oui.



À ton commentaire :
si oui le code est bon ,mais dans mes commentaires j'ai bien noté qu'il fallait donner la valeur à la variable dernière_ligne_vide dans ton code elle est = 0 donc ça ne peut pas fonctionner.


Ton code est sûrement bon mais malheureusement, je ne comprends pas lorsque tu dis :

donc ça ne peut pas fonctionner.

Comment faire pour que ça fonctionne? Peux-tu m'expliquer S.V.P., et me donner un exemple pour ma compréhension.


Désolé et merci pour ta patience,


Dan
avatar
AdminPVB
Admin
Admin

Localisation : France Nord 59
Messages : 1843
Date d'inscription : 24/05/2013
Age : 41

Résolu Re: Problème Erreur d’exécution ‘1004’:

Message par AdminPVB le Mer 29 Oct - 15:40

Bonjour,
tu dois dire dans ton code avant la boucle:
Code:
dim dernière_ligne_vide as long
dernière_ligne_vide=sheets("Registre clients").range("C65000").end(xlup).row 'ou autre code pour trouver la dernière ligne vide
'puis le reste du code.
For i = 0 to 39 .......
A+


_________________
Avatar


Bienvenue sur

Dans votre message d'origine cliquer sur le bouton

Tout en bas sur Modifier le titre du sujet cliquer sur le bouton : Résolu !!!
Changer l’icône du sujet par le bouton

Tout simplement.


Merci pour votre présence ou passage sur le site de programmer-en-vb

Celui qui croit tout connaitre, ne connait sans doute pas grand chose,chacun apporte son savoir, mais on a tous tout à apprendre ....  

study

avatar
danpom302
Step_Three_VBA
Step_Three_VBA

Localisation : Québec
Messages : 368
Date d'inscription : 23/09/2013
Age : 66

Résolu Re: Problème Erreur d’exécution ‘1004’:

Message par danpom302 le Mer 29 Oct - 17:49

Re bonjour Fhoest,

Comme ceci?

Code:

Sub Copier_coller6()
'
' Copier_coller6 Macro
'

'
Dim dernière_ligne_vide As Long
    dernière_ligne_vide = Sheets("Registre clients").Range("C65000").End(xlUp).Row
'ou autre code pour trouver la dernière ligne vide puis le reste du code.

For i = 1 To 39
Sheets("Registre clients").Cells(dernière_ligne_vide, i, 3).Value = Sheets("Fiche nouveau client").Cells(29 + i, 24).Value

Next
    Range("A1").Select

End Sub


Si oui, la macro bloque toujours à la même ligne soit :
Code:

Sheets("Registre clients").Cells(dernière_ligne_vide, i, 3).Value = Sheets("Fiche nouveau client").Cells(29 + i, 24).Value

Je joins donc un fichier allégé

http://pvb.comeze.com/Fichier_upload/danpom302/Essai-1224.xlsm

Merci pour ton aide,

Dan
avatar
AdminPVB
Admin
Admin

Localisation : France Nord 59
Messages : 1843
Date d'inscription : 24/05/2013
Age : 41

Résolu Re: Problème Erreur d’exécution ‘1004’:

Message par AdminPVB le Mer 29 Oct - 18:45

Re,
En fait oui c'est ça,
mais quand tu regardes le code que je t'ai donné il y a un + i, et dans ton code un ,i
Code:
For i = 0 To 39
'attention regarde correction sur la fin cells(24,29+i) et non cells(29+i,24) ceci est entièrement de ma faute
 Sheets("Registre clients").Cells(dernière_ligne_vide + i, 3).Value = Sheets("Fiche nouveau client").Cells(24,29 + i).Value  
  Next
Attention dans ton fichier allégé il n'y a rien dans la cellule C1 donc on commencera à écrire dans celle-ci.
il manque un titre de colonne et j'avais mis de 0 to 39 (à adapter si ton code fonctionne c'est pas grave)
A+


_________________
Avatar


Bienvenue sur

Dans votre message d'origine cliquer sur le bouton

Tout en bas sur Modifier le titre du sujet cliquer sur le bouton : Résolu !!!
Changer l’icône du sujet par le bouton

Tout simplement.


Merci pour votre présence ou passage sur le site de programmer-en-vb

Celui qui croit tout connaitre, ne connait sans doute pas grand chose,chacun apporte son savoir, mais on a tous tout à apprendre ....  

study

avatar
danpom302
Step_Three_VBA
Step_Three_VBA

Localisation : Québec
Messages : 368
Date d'inscription : 23/09/2013
Age : 66

Résolu Re: Problème Erreur d’exécution ‘1004’:

Message par danpom302 le Mer 29 Oct - 19:55

Bonjour Fhoest,

Ton code copie bien mais il colle les 39 cellules dans les cellules C1 à C112 soit à la vertical et non à l'horizontal.

Je l'ai modifié pour qu'il colle à l'horizontale soit de C2 à AO2 mais l'information qui se trouve dans la cellule AP2 s'efface, comme si une cellule vide se serait copiée pour ensuite, se coller sur AP2 

Voici mon code:

Code:

For i = 0 To 39
Sheets("Registre clients").Cells(dernière_ligne_vide + 1, 3 + i).Value = Sheets("Fiche nouveau client").Cells(24, 29 + i).Value
  Next

Vois-tu comment corriger ce dernier point?

Merci,

Dan
avatar
AdminPVB
Admin
Admin

Localisation : France Nord 59
Messages : 1843
Date d'inscription : 24/05/2013
Age : 41

Résolu Re: Problème Erreur d’exécution ‘1004’:

Message par AdminPVB le Mer 29 Oct - 20:48

Re,
oui, encore un petit et léger souci:
Code:
For i = 0 To 38
Sheets("Registre clients").Cells(dernière_ligne_vide + 1, 3 + i).Value = Sheets("Fiche nouveau client").Cells(24, 29 + i).Value
Next
A+


_________________
Avatar


Bienvenue sur

Dans votre message d'origine cliquer sur le bouton

Tout en bas sur Modifier le titre du sujet cliquer sur le bouton : Résolu !!!
Changer l’icône du sujet par le bouton

Tout simplement.


Merci pour votre présence ou passage sur le site de programmer-en-vb

Celui qui croit tout connaitre, ne connait sans doute pas grand chose,chacun apporte son savoir, mais on a tous tout à apprendre ....  

study

avatar
danpom302
Step_Three_VBA
Step_Three_VBA

Localisation : Québec
Messages : 368
Date d'inscription : 23/09/2013
Age : 66

Résolu Re: Problème Erreur d’exécution ‘1004’:

Message par danpom302 le Mer 29 Oct - 21:48

Bonjour Fhoest,

Le tout fonctionne très bien.

Je te remercie pour ta patience et, bien entendu, ton savoir. Very Happy

Dan

Contenu sponsorisé

Résolu Re: Problème Erreur d’exécution ‘1004’:

Message par Contenu sponsorisé


    La date/heure actuelle est Mer 20 Sep - 16:29