Probleme boucle while

Fermé
Julien - Modifié par jordane45 le 21/04/2016 à 18:19
Patrice33740 Messages postés 8556 Date d'inscription dimanche 13 juin 2010 Statut Membre Dernière intervention 2 mars 2023 - 22 avril 2016 à 12:43
Bonjour,

Mon programme fonctionne comme je le veux mais j'aimerais le mettre de facon plus " pro " au lieu de répéter ca plusieurs fois ..

Pour l'instant le programme fait un offset de 26 cellules par rapport à f et si la cellule est vide ou le nombre de caractère est inférieur à 10 on décale de 27 par rapport à f etc jusqu'à 35
J'aimerais que de la colonne 26 à la 35 ca se fasse automatiquement ..

Merci beaucoup !!!

Voici le code :
Sheets("PFR").Select                  'Selection de la feuille "PFR"

f.Select                              'Selection de la cellule contenu dans f ( ici Fault Code Airbus)

ActiveCell.Offset(0, 26).Select       'Décalage de 26 cellules pour sélection la colonne HEXA
    
Selection.Copy                        'Copie de la sélection
Sheets("Données_triées").Select       'Sélection de la feuille "Données_triées"
Cells(k, 27).Select                   'Sélection de la cellule (k,27)
ActiveSheet.Paste                     'Coller sur la cellule active

If ActiveCell.Value = "" Or Len(ActiveCell) < 10 Then

Sheets("PFR").Select
f.Select                              'Selection de la cellule contenu dans f ( ici Fault Code Airbus)

ActiveCell.Offset(0, 32).Select       'Décalage de 32 cellules pour sélection la colonne HEXA
    
Selection.Copy                        'Copie de la sélection
Sheets("Données_triées").Select       'Sélection de la feuille "Données_triées"
Cells(k, 27).Select                   'Sélection de la cellule (k,27)
ActiveSheet.Paste                     'Coller sur la cellule active
End If

If ActiveCell.Value = "" Or Len(ActiveCell) < 10 Then

Sheets("PFR").Select
f.Select                              'Selection de la cellule contenu dans f ( ici Fault Code Airbus)

ActiveCell.Offset(0, 31).Select       'Décalage de 31 cellules pour sélection la colonne HEXA
    
Selection.Copy                        'Copie de la sélection
Sheets("Données_triées").Select       'Sélection de la feuille "Données_triées"
Cells(k, 27).Select                   'Sélection de la cellule (k,27)
ActiveSheet.Paste                     'Coller sur la cellule active

End If

If ActiveCell.Value = "" Or Len(ActiveCell) < 10 Then

Sheets("PFR").Select
f.Select                              'Selection de la cellule contenu dans f ( ici Fault Code Airbus)

ActiveCell.Offset(0, 28).Select       'Décalage de 28 cellules pour sélection la colonne HEXA
    
Selection.Copy                        'Copie de la sélection
Sheets("Données_triées").Select       'Sélection de la feuille "Données_triées"
Cells(k, 27).Select                   'Sélection de la cellule (k,27)
ActiveSheet.Paste                     'Coller sur la cellule active

End If

If ActiveCell.Value = "" Or Len(ActiveCell) < 10 Then

Sheets("PFR").Select
f.Select                              'Selection de la cellule contenu dans f ( ici Fault Code Airbus)

ActiveCell.Offset(0, 29).Select       'Décalage de 28 cellules pour sélection la colonne HEXA
    
Selection.Copy                        'Copie de la sélection
Sheets("Données_triées").Select       'Sélection de la feuille "Données_triées"
Cells(k, 27).Select                   'Sélection de la cellule (k,27)
ActiveSheet.Paste                     'Coller sur la cellule active

End If


EDIT : Ajout des balises de code.

1 réponse

Patrice33740 Messages postés 8556 Date d'inscription dimanche 13 juin 2010 Statut Membre Dernière intervention 2 mars 2023 1 779
21 avril 2016 à 21:21
Bonjour,

Un bon code ne comprend aucun Select !

Un excellent cours VBA gratuit :
ftp://ftp-developpez.com/bidou/Cours/VBA/formationVBA.pdf

Des centaines d'exemples de code :
http://boisgontierjacques.free.fr/index.htm
1
Je ne penses pas qui tu réponde à ma question mais bon ^^ Je ne cherche pas à faire un code parfait mais un code plus simple et je n'ai pas le temps de me former parfaitement à l'utilisation de VBA , jusqu'à présent les personnes du forum me donner des astuces pour mieux comprendre et c'est comme ca que j'apprends plutôt que de lire des centaines et centaines de code , merci quand même ..
0
Patrice33740 Messages postés 8556 Date d'inscription dimanche 13 juin 2010 Statut Membre Dernière intervention 2 mars 2023 1 779 > Julien
22 avril 2016 à 12:43
Justement, c'est en forgeant qu'on devient forgeron !
Commences par éliminer tous les Select de ton code !
0