VBA mise à jour tableau excel
Fermé
hussein83
Messages postés
23
Date d'inscription
jeudi 8 janvier 2009
Statut
Membre
Dernière intervention
21 janvier 2009
-
20 janv. 2009 à 11:40
hussein83 Messages postés 23 Date d'inscription jeudi 8 janvier 2009 Statut Membre Dernière intervention 21 janvier 2009 - 21 janv. 2009 à 09:52
hussein83 Messages postés 23 Date d'inscription jeudi 8 janvier 2009 Statut Membre Dernière intervention 21 janvier 2009 - 21 janv. 2009 à 09:52
A voir également:
- VBA mise à jour tableau excel
- Mise a jour chrome - Accueil - Applications & Logiciels
- Mise a jour windows 10 - Accueil - Mise à jour
- Mise en forme conditionnelle excel - Guide
- Trier tableau excel - Guide
- Mise a jour chromecast - Accueil - Guide TV et vidéo
2 réponses
Bidouilleu_R
Messages postés
1181
Date d'inscription
mardi 27 mai 2008
Statut
Membre
Dernière intervention
12 juillet 2012
294
20 janv. 2009 à 16:06
20 janv. 2009 à 16:06
' attention je demande une petite vérification
' je n'ai pas fait la troisième partie
Et surtout de mettre à jour les contrats toujours existants (en écrasant les cellules « et ne pas les lignes entières car il y a les valeurs constantes sur les mêmes lignes) d’ancien tableau en faisant copier coller).
mais je pense que tu peux le faire
Sub supprimer()
Dim Xligne, Kligne As Integer
Dim C As Variant
Dim Trouve As Boolean
Sheets("anciennes données").Select
Set d = Range("a3") 'je définis un objet cellule
Range("a2").Select
Xligne = Range("A2", Selection.End(xlDown)).Rows.Count - 1
Sheets("nouvelle données").Select
Kligne = Range("A2", Selection.End(xlDown)).Rows.Count - 1
i = 1
While i < Xligne
Trouve = False ' initialise à chaque ligne
For Each C In Sheets("nouvelle données").Range("A2:A" & Kligne)
If d.Value = C.Value Then touve = True
Next
If Not Trouve Then
'on a parcouru la liste
'pas de concordance
' on efface la ligne ( objet D)
d.EntireRow.Delete
i = i - 1 'j'ai supprimée une ligne
End If
i = i + 1
' je redéfinis l'objet
Set d = Sheets("anciennes données").Range("A2").Offset(0, i)
Wend
End Sub
Sub Ajout_des_contrats()
Dim Xligne, Kligne As Integer
Dim C As Variant
Dim Trouve As Boolean
Sheets("nouvelle données").Select
Set d = Range("a3") 'je définis un objet cellule
Range("a2").Select
Xligne = Range("A2", Selection.End(xlDown)).Rows.Count - 1
Sheets("anciennes données").Select
Kligne = Range("A2", Selection.End(xlDown)).Rows.Count - 1
i = 1
While i < Xligne
Trouve = False ' initialise à chaque ligne
For Each C In Sheets("anciennes données").Range("A2:A" & Kligne)
If d.Value = C.Value Then touve = True
Next
If Not Trouve Then
Sheets("anciennes données").Select
Range("A2").Select
Selection.End(xlDown).Select
ActiveCell.Offset(1, 0).Select
ActiveCell.Value = d.Value
ActiveCell.offsett(0, 1) = d.offsett(0, 1).Value ' col B
ActiveCell.Offset(0, 2) = d.Offset(0, 2).Value ' col C
End If
i = i + 1
' je redéfinis l'objet
Set d = Sheets("nouvelle données").Range("A2").Offset(0, i)
Wend
End Sub
' je n'ai pas fait la troisième partie
Et surtout de mettre à jour les contrats toujours existants (en écrasant les cellules « et ne pas les lignes entières car il y a les valeurs constantes sur les mêmes lignes) d’ancien tableau en faisant copier coller).
mais je pense que tu peux le faire
Sub supprimer()
Dim Xligne, Kligne As Integer
Dim C As Variant
Dim Trouve As Boolean
Sheets("anciennes données").Select
Set d = Range("a3") 'je définis un objet cellule
Range("a2").Select
Xligne = Range("A2", Selection.End(xlDown)).Rows.Count - 1
Sheets("nouvelle données").Select
Kligne = Range("A2", Selection.End(xlDown)).Rows.Count - 1
i = 1
While i < Xligne
Trouve = False ' initialise à chaque ligne
For Each C In Sheets("nouvelle données").Range("A2:A" & Kligne)
If d.Value = C.Value Then touve = True
Next
If Not Trouve Then
'on a parcouru la liste
'pas de concordance
' on efface la ligne ( objet D)
d.EntireRow.Delete
i = i - 1 'j'ai supprimée une ligne
End If
i = i + 1
' je redéfinis l'objet
Set d = Sheets("anciennes données").Range("A2").Offset(0, i)
Wend
End Sub
Sub Ajout_des_contrats()
Dim Xligne, Kligne As Integer
Dim C As Variant
Dim Trouve As Boolean
Sheets("nouvelle données").Select
Set d = Range("a3") 'je définis un objet cellule
Range("a2").Select
Xligne = Range("A2", Selection.End(xlDown)).Rows.Count - 1
Sheets("anciennes données").Select
Kligne = Range("A2", Selection.End(xlDown)).Rows.Count - 1
i = 1
While i < Xligne
Trouve = False ' initialise à chaque ligne
For Each C In Sheets("anciennes données").Range("A2:A" & Kligne)
If d.Value = C.Value Then touve = True
Next
If Not Trouve Then
Sheets("anciennes données").Select
Range("A2").Select
Selection.End(xlDown).Select
ActiveCell.Offset(1, 0).Select
ActiveCell.Value = d.Value
ActiveCell.offsett(0, 1) = d.offsett(0, 1).Value ' col B
ActiveCell.Offset(0, 2) = d.Offset(0, 2).Value ' col C
End If
i = i + 1
' je redéfinis l'objet
Set d = Sheets("nouvelle données").Range("A2").Offset(0, i)
Wend
End Sub
Bidouilleu_R
Messages postés
1181
Date d'inscription
mardi 27 mai 2008
Statut
Membre
Dernière intervention
12 juillet 2012
294
21 janv. 2009 à 08:44
21 janv. 2009 à 08:44
Alors je suis content pour toi.
Si c'est ok pense à mettre résolu
Si c'est ok pense à mettre résolu
hussein83
Messages postés
23
Date d'inscription
jeudi 8 janvier 2009
Statut
Membre
Dernière intervention
21 janvier 2009
21 janv. 2009 à 09:52
21 janv. 2009 à 09:52
je ne suis pas arrivé à le faire....
ce tu veux voir ce que j'ai fait voici le lien
http://www.commentcamarche.net/forum/affich 10595612 vba inserer lignes a la fin d un tablo excel
tu n'a qu'à télécharger le fichier et d'executer les macros, ça tourne pas mal sauf que ce n'est pas encore términé....
si on peut trouver une solution ça sera enorme car en fait je suis actuellement en stage et apparament tout le monde ici fait la mise à jour de ses tableaux maunellement.....
ce tu veux voir ce que j'ai fait voici le lien
http://www.commentcamarche.net/forum/affich 10595612 vba inserer lignes a la fin d un tablo excel
tu n'a qu'à télécharger le fichier et d'executer les macros, ça tourne pas mal sauf que ce n'est pas encore términé....
si on peut trouver une solution ça sera enorme car en fait je suis actuellement en stage et apparament tout le monde ici fait la mise à jour de ses tableaux maunellement.....
20 janv. 2009 à 16:15
je te dois beaucoup mon gars. grâce à toi je ne perderai plus le temps à faire la mise à jour manuellement
alors chapeau bas