Code excel mediocre help plz
Résolu
redemption87
Messages postés
5
Statut
Membre
-
redemption87 Messages postés 5 Statut Membre -
redemption87 Messages postés 5 Statut Membre -
Bonjour,
Voila je ne me connais pas en excel mais j'ai essayé de lire un peu de cours sur net et j'ai fini par écrire ce code qui devrait me permettre de copier le contenu d'un ensemble de cellules d'une feuille excel et le coller tout au long d'une ligne dans une autre feuille.
reste, quand je clique sur le bouton 'done' le logiciel m'affiche une fenêtre d'erreur. est ce que vous pouvez m'aidez ?
Sub done_click()
Dim vardate As Date
Dim nom, prenom, atb1, lettre, antibiogramme, service As String
Dim compteur, duree, matricule As Integer
Sheets("datafilling").Select
matricule = Cells(D9)
nom = Cells(D5)
prenom = Cells(D7)
service = Cells(D11)
lettre = Cells(H4)
antibiogramme = Cells(J4)
atb1 = Cells(B14)
vardate = Cells(D3)
duree = Cells(H14)
Sheets("Home").Select
Call je_cherche_la_premiere_cellule_vide_et_je_colle
End Sub
Sub je_cherche_la_premiere_cellule_vide_et_je_colle()
Dim noligne As Integer
noligne = 14
While Cells(noligne, a) <> ""
noligne = noligne + 1
Wend
Cells(noligne, c) = nom
Cells(noligne, d) = prenom
Cells(nolign, b) = matricule
Cells(noligne, e) = service
Cells(noligne, f) = lettre
Cells(noligne, g) = antibiogramme
Cells(noligne, h) = atb1
Cells(noligne, A) = vardate
Cells(noligne, i) = duree
End Sub
End Sub
Voila je ne me connais pas en excel mais j'ai essayé de lire un peu de cours sur net et j'ai fini par écrire ce code qui devrait me permettre de copier le contenu d'un ensemble de cellules d'une feuille excel et le coller tout au long d'une ligne dans une autre feuille.
reste, quand je clique sur le bouton 'done' le logiciel m'affiche une fenêtre d'erreur. est ce que vous pouvez m'aidez ?
Sub done_click()
Dim vardate As Date
Dim nom, prenom, atb1, lettre, antibiogramme, service As String
Dim compteur, duree, matricule As Integer
Sheets("datafilling").Select
matricule = Cells(D9)
nom = Cells(D5)
prenom = Cells(D7)
service = Cells(D11)
lettre = Cells(H4)
antibiogramme = Cells(J4)
atb1 = Cells(B14)
vardate = Cells(D3)
duree = Cells(H14)
Sheets("Home").Select
Call je_cherche_la_premiere_cellule_vide_et_je_colle
End Sub
Sub je_cherche_la_premiere_cellule_vide_et_je_colle()
Dim noligne As Integer
noligne = 14
While Cells(noligne, a) <> ""
noligne = noligne + 1
Wend
Cells(noligne, c) = nom
Cells(noligne, d) = prenom
Cells(nolign, b) = matricule
Cells(noligne, e) = service
Cells(noligne, f) = lettre
Cells(noligne, g) = antibiogramme
Cells(noligne, h) = atb1
Cells(noligne, A) = vardate
Cells(noligne, i) = duree
End Sub
End Sub
A voir également:
- Code excel mediocre help plz
- Code ascii - Guide
- Liste déroulante excel - Guide
- Word et excel gratuit - Guide
- Code puk bloqué - Guide
- Comment déverrouiller un téléphone quand on a oublié le code - Guide
2 réponses
Déjà, pour nommer une cellule, c'est cells(numéro ligne, numéro colonne).
redemption87
Messages postés
5
Statut
Membre
ok merci.
bonjour
1. en tête du module tu places l'instruction qui va t'obliger à déclarer les variables
matricule = Cells(D9) doit s'écrire matricule = Range("D9") ou Cells(9,"D")
3. les variables utilisées dans la 2° procedure sont "celles de la 1°" mais comme elles ne sont déclarées que dans la 1° elles ne sont pas visibles dans la 2°
donc déclarer ces variables dans l'en tête du module, après Option explicit
en gros ton programme devrait ressembler à ça.
bon courage
1. en tête du module tu places l'instruction qui va t'obliger à déclarer les variables
Option Explicit2. Les adresses de cellules doivent être mises entre guillemets
matricule = Cells(D9) doit s'écrire matricule = Range("D9") ou Cells(9,"D")
3. les variables utilisées dans la 2° procedure sont "celles de la 1°" mais comme elles ne sont déclarées que dans la 1° elles ne sont pas visibles dans la 2°
donc déclarer ces variables dans l'en tête du module, après Option explicit
en gros ton programme devrait ressembler à ça.
Option Explicit Dim vardate As Date Dim nom, prenom, atb1, lettre, antibiogramme, service As String Dim compteur, duree, matricule As Integer Sub done_click() matricule = Range("D9") nom = Range("D5") etc ... End Sub Sub je_cherche_la_premiere_cellule_vide_et_je_colle() Dim noligne As Integer noligne = 14 With Sheets("Home") While .Cells(noligne, "A") <> "" noligne = noligne + 1 Wend .Cells(noligne, "C") = nom etc ... End With End Sub
bon courage
merci mille merci ca a marché :)
Option Explicit
Dim daate, premierj, arret1, arret2, tajdid As Integer
Dim poso As String
Dim nom, prenom, atb, lettre, antibiogramme, service As String
Dim compteur, duree, matricule, qtetot1, qtetot2 As Integer
Sub done_click()
Sheets("datafilling").Select
matricule = Range("D9")
nom = Range("D5")
prenom = Range("D7")
service = Range("D11")
lettre = Range("H4")
antibiogramme = Range("J4")
atb = Range("B14")
'jai coupe
premierj = Range("F14")
daate = Range("D3")
duree = Range("H14")
arret1 = Range("J14")
qtetot1 = Range("H17")
qtetot2 = Range("L17")
poso = Range("D14")
arret2 = Range("L14")
tajdid = Range("D18")
Sheets("Home").Select
Call je_cherche_la_premiere_cellule_vide_et_je_colle
End Sub
Sub je_cherche_la_premiere_cellule_vide_et_je_colle()
Dim noligne As Integer
noligne = 14
With Sheets("Home")
While .Cells(noligne, "A") <> ""
noligne = noligne + 1
Wend
Cells(noligne, "A") = daate
Cells(noligne, "B") = matricule
Cells(noligne, "C") = nom
Cells(noligne, "D") = prenom
Cells(noligne, "E") = service
Cells(noligne, "f") = lettre
Cells(noligne, "G") = antibiogramme
Cells(noligne, "H") = atb
'jai couper 2
Cells(noligne, "J") = premierj
Cells(noligne, "K") = duree
Cells(noligne, "M") = arret1
Cells(noligne, "L") = qtetot1
Cells(noligne, "P") = qtetot2
Cells(noligne, "I") = poso
Cells(noligne, "O") = arret2
Cells(noligne, "N") = tajdid
Cells(noligne, "A").Select
End With
End Sub
Sub clear2()
'
' clear2 Macro
'
'
Range("D3,D5,D7,D9,D11,B14,D14,F14,H14,H17,H4,J4,L14,L17,N14").Select
Range("N14").Activate
Selection.ClearContents
End Sub
Option Explicit
Dim daate, premierj, arret1, arret2, tajdid As Integer
Dim poso As String
Dim nom, prenom, atb, lettre, antibiogramme, service As String
Dim compteur, duree, matricule, qtetot1, qtetot2 As Integer
Sub done_click()
Sheets("datafilling").Select
matricule = Range("D9")
nom = Range("D5")
prenom = Range("D7")
service = Range("D11")
lettre = Range("H4")
antibiogramme = Range("J4")
atb = Range("B14")
'jai coupe
premierj = Range("F14")
daate = Range("D3")
duree = Range("H14")
arret1 = Range("J14")
qtetot1 = Range("H17")
qtetot2 = Range("L17")
poso = Range("D14")
arret2 = Range("L14")
tajdid = Range("D18")
Sheets("Home").Select
Call je_cherche_la_premiere_cellule_vide_et_je_colle
End Sub
Sub je_cherche_la_premiere_cellule_vide_et_je_colle()
Dim noligne As Integer
noligne = 14
With Sheets("Home")
While .Cells(noligne, "A") <> ""
noligne = noligne + 1
Wend
Cells(noligne, "A") = daate
Cells(noligne, "B") = matricule
Cells(noligne, "C") = nom
Cells(noligne, "D") = prenom
Cells(noligne, "E") = service
Cells(noligne, "f") = lettre
Cells(noligne, "G") = antibiogramme
Cells(noligne, "H") = atb
'jai couper 2
Cells(noligne, "J") = premierj
Cells(noligne, "K") = duree
Cells(noligne, "M") = arret1
Cells(noligne, "L") = qtetot1
Cells(noligne, "P") = qtetot2
Cells(noligne, "I") = poso
Cells(noligne, "O") = arret2
Cells(noligne, "N") = tajdid
Cells(noligne, "A").Select
End With
End Sub
Sub clear2()
'
' clear2 Macro
'
'
Range("D3,D5,D7,D9,D11,B14,D14,F14,H14,H17,H4,J4,L14,L17,N14").Select
Range("N14").Activate
Selection.ClearContents
End Sub